[Qt/qml]程序之外显示的弹幕

/ 44,234评论 / 217241阅读 / 4点赞

前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。

效果

思路

实操

import QtQuick 2.3
import QtQuick.Controls 2.5
//窗口
ApplicationWindow  {
    id:root
    property string str: "我的洛天依"  //弹幕文本内容
    width: 300
    height: 40

    flags:  Qt.FramelessWindowHint  //去掉窗口标题栏
    color:"#00000000"   //设置背景透明

    Rectangle {     //使用矩形包裹Text是为了在Text外面可以增加圆角矩形边框效果
        anchors.fill: parent
        border.width: 1     //设置边框
        border.color: "#66ccff"
        color:"#00000000"
        radius: 20          //边框圆角
        clip: true          //超出矩形范围的内容隐藏

        Text {      //弹幕文本
            anchors.fill: parent
            text: str
            font.bold: true
            font.pointSize: 15
            color: "#66ccff"
            style: Text.Outline     //设置文本样式,在字体轮廓加一层styleColor指定的颜色边缘,防止背景导致文本不明显
            styleColor: "#fff"
            horizontalAlignment: Text.AlignHCenter  //居中
            verticalAlignment:   Text.AlignVCenter
            clip: true
        }
    }
}
import QtQuick
import QtQuick.Window 2.3
import QtQuick.Controls 2.5

Window {
    id:mainWin
    width: 700
    height: 500
    visible: true
    title: qsTr("MimicryChat")

    //添加弹幕
    function addBarrage(in_str) {
        var newCom = Qt.createComponent("Barrage.qml");   //创建弹幕窗口
        var newWin = newCom.createObject();
        newWin.x   = 200;
        newWin.y   = Math.random() * 900;   //随机竖直位置
        newWin.str = in_str;   //设置弹幕文本
        newWin.show();         //显示弹幕窗口

        //设置定时控制器
        let timer = Qt.createQmlObject("import QtQuick 2.14; Timer {}", mainWin);
        timer.interval = 20;    //执行间隔时间(单位ms)
        timer.repeat = true;    //重复执行
        timer.triggered.connect(function() {  //执行内容
            if(newWin.x < 1700) {  //如果没到右边缘就移动2个像素点
                newWin.x += 2;
            } else {
                timer.stop();      //到达右边缘,则停止定时控制器,并销毁弹幕
                newWin.close();
            }
        });
        timer.start();   //启动定时器
    }
    Rectangle {   //主窗口背景颜色
        anchors.fill: parent
        color: "#dde8fc"
        radius: 20
    }
    Button {
        width:100
        height: 40
        text:"发送弹幕"
        anchors.bottom: parent.bottom
        anchors.bottomMargin: 10
        //水平居中
        anchors.horizontalCenter: parent.horizontalCenter
        onClicked: {
            addBarrage("嘿嘿,我的洛天依");
        }
    }
}

问题

  1. Arnoldscava说道:

    mexican drugstore online pharmacies in mexico that ship to usa buying prescription drugs in mexico online

  2. RichardMonge说道:

    http://mexicandeliverypharma.com/# pharmacies in mexico that ship to usa

  3. Waynetar说道:

    buying from online mexican pharmacy: purple pharmacy mexico price list – mexico pharmacies prescription drugs

  4. DominicHOr说道:

    purple pharmacy mexico price list: best online pharmacies in mexico – mexico drug stores pharmacies

  5. Arnoldscava说道:

    mexico pharmacies prescription drugs mexico drug stores pharmacies medicine in mexico pharmacies

  6. Arnoldscava说道:

    mexican online pharmacies prescription drugs mexican drugstore online purple pharmacy mexico price list

  7. Danrpmw说道:

    Привет, друзья!
    Мы готовы предложить дипломы любой профессии.
    sommos.com.co/купить-диплом-модельера
    Рады оказать помощь!.

  8. Danrxyv说道:

    Привет!
    Мы можем предложить дипломы любой профессии.
    traquegarden.com/купить-диплом-заочной-формы
    Окажем помощь!.

  9. скачать порно коллекций http://www.porn-library.ru .

  10. Lazrsgc说道:

    Привет, друзья!
    Заказать диплом о высшем образовании.
    bakinsky-dvorik.ru/club/user/127071/blog/4731

  11. NelsonSaIlk说道:

    purple pharmacy mexico price list: mexico pharmacies prescription drugs – reputable mexican pharmacies online

  12. Diplomi_jtol说道:

    Здравствуйте!
    Заказать документ университета вы имеете возможность у нас.
    asxdiplomik.com/kupit-diplom-s-registraciej

  13. Waynetar说道:

    mexican rx online: mexico drug stores pharmacies – mexican online pharmacies prescription drugs

  14. DominicHOr说道:

    mexican border pharmacies shipping to usa: mexican rx online – mexico drug stores pharmacies

  15. Lazruyh说道:

    Добрый день!
    Мы изготавливаем дипломы психологов, юристов, экономистов и любых других профессий по приятным ценам.
    dsac.es/диплом-для-собаки-купить

  16. Dnrtavs说道:

    Здравствуйте!
    Купить документ о получении высшего образования можно в нашей компании в столице.
    diploms-x.com/kupit-diplom-voronezh
    Успешной учебы!

  17. Dnrtwqx说道:

    Здравствуйте!
    Купить документ о получении высшего образования можно у нас.
    ast-diplomas24.ru/kupit-diplom-magistra
    Успешной учебы!

  18. NelsonSaIlk说道:

    mexican pharmaceuticals online: reputable mexican pharmacies online – mexico drug stores pharmacies

  19. Uazrdzx说道:

    Привет, друзья!
    Где приобрести диплом специалиста?
    http://www.dizalty.com/read-blog/67606

  20. RichardMonge说道:

    http://mexicandeliverypharma.com/# medicine in mexico pharmacies

  21. Waynetar说道:

    mexican pharmaceuticals online: mexico pharmacies prescription drugs – buying prescription drugs in mexico online

  22. DominicHOr说道:

    best online pharmacies in mexico: п»їbest mexican online pharmacies – mexico drug stores pharmacies

  23. Waynetar说道:

    purple pharmacy mexico price list: pharmacies in mexico that ship to usa – mexican drugstore online

  24. DominicHOr说道:

    reputable mexican pharmacies online: reputable mexican pharmacies online – mexican online pharmacies prescription drugs

  25. NelsonSaIlk说道:

    medicine in mexico pharmacies: pharmacies in mexico that ship to usa – mexico drug stores pharmacies

  26. Waynetar说道:

    purple pharmacy mexico price list: mexican online pharmacies prescription drugs – mexican online pharmacies prescription drugs

  27. DominicHOr说道:

    buying prescription drugs in mexico: buying prescription drugs in mexico – mexican pharmaceuticals online

  28. RichardMonge说道:

    http://mexicandeliverypharma.com/# pharmacies in mexico that ship to usa

  29. Waynetar说道:

    buying from online mexican pharmacy: mexican online pharmacies prescription drugs – mexican pharmaceuticals online

  30. Lazrmlw说道:

    Привет!
    Купить диплом университета.
    cbr.by/club/user/1977/blog/316

  31. Arnoldscava说道:

    mexican rx online pharmacies in mexico that ship to usa reputable mexican pharmacies online

  32. Lazrhid说道:

    Добрый день!
    Купить диплом университета.
    xn--80ajjabicd1cty1a4fvb.xn--p1ai/blogs/1/bolshoy-assortiment-dokumentov-v-znamenitom-internetmagazine.php

  33. Trefedr说道:

    Привет!
    Покупка диплома о среднем полном образовании: как избежать мошенничества?
    kabtaferplus.com/купить-диплом-советы-и-рекомендации
    Всегда вам поможем!.

  34. Diplomi_ybol说道:

    Здравствуйте!
    Заказать документ университета можно у нас в Москве.
    ast-diploms.com/kupit-diplom-kandidata-nauk

  35. Arnoldscava说道:

    purple pharmacy mexico price list mexico drug stores pharmacies mexico pharmacy

  36. Lazrywy说道:

    Добрый день!
    Мы можем предложить дипломы любой профессии по приятным тарифам.
    mahdsanat.com/куплю-диплом-читай

  37. Diplomi_qiol说道:

    Здравствуйте!
    Заказать документ института можно в нашей компании.
    diplomasx.com/kupit-diplom-specialista 

  38. NelsonSaIlk说道:

    mexican drugstore online: mexican rx online – medication from mexico pharmacy

  39. 스네이크 아레나 드림 드롭
    그의 마음은 무거웠고 그의 마음은 ‘인정’이라는 단어로 가득 차 있었다.

  40. Dnrtjyy说道:

    Привет!
    Приобрести документ ВУЗа можно у нас в Москве.
    ast-diplomas.com/kupit-diplom-rostov-na-donu
    Удачи!

  41. Mazrubl说道:

    Добрый день!
    Сколько стоит получить диплом высшего и среднего образования легально?
    diploms-man.ru

  42. RichardMonge说道:

    https://mexicandeliverypharma.com/# reputable mexican pharmacies online

  43. Uazrumu说道:

    Здравствуйте!
    Где приобрести диплом по нужной специальности?
    http://www.vevioz.com/read-blog/159528

  44. Uazrwsi说道:

    Здравствуйте!
    Где заказать диплом специалиста?
    http://www.vevioz.com/read-blog/148290

  45. NelsonSaIlk说道:

    mexican online pharmacies prescription drugs: mexico drug stores pharmacies – buying from online mexican pharmacy

  46. Waynetar说道:

    medication from mexico pharmacy: medicine in mexico pharmacies – medicine in mexico pharmacies

  47. NelsonSaIlk说道:

    mexican online pharmacies prescription drugs: best online pharmacies in mexico – pharmacies in mexico that ship to usa

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注