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

/ 44,297评论 / 217719阅读 / 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. DominicHOr说道:

    best online pharmacies in mexico: mexican border pharmacies shipping to usa – reputable mexican pharmacies online

  2. Trefgjp说道:

    Здравствуйте!
    Сколько стоит диплом высшего и среднего образования и как его получить?
    protectorakanaan.com/купить-диплом-проверенные-способы
    Будем рады вам помочь!.

  3. Xazrsgs说道:

    Привет, друзья!
    Как безопасно купить диплом колледжа или ПТУ в России, что важно знать
    arusak-diploms-srednee.ru/kupit-diplom-v-nizhnem-novgorode

  4. DominicHOr说道:

    buying from online mexican pharmacy: best online pharmacies in mexico – mexican drugstore online

  5. Manrxwv说道:

    Привет, друзья!
    Заказать документ о получении высшего образования
    diplomyx24.ru/kupit-diplom-vracha

  6. Mazriyy说道:

    Привет, друзья!
    Как официально купить аттестат 11 класса с упрощенным обучением в Москве
    mans-diplomas.ru

  7. Diplomi_hxol说道:

    Привет, друзья!
    Купить документ ВУЗа вы сможете у нас в Москве.
    diploms-x.com/kupit-diplom-kandidata-nauk

  8. Lazrrdt说道:

    Здравствуйте!
    Приобрести диплом ВУЗа.
    deris.by/news/blogs/1/obshirnyy-vybor-dokumentov-v-populyarnom-internet-magazine.php

  9. Lazrvbg说道:

    Привет, друзья!
    Мы изготавливаем дипломы любых профессий по приятным ценам.
    service.gnla.com.au/2024/06/30/купить-диплом-капитана

  10. Lazrttg说道:

    Привет, друзья!
    Заказать диплом любого ВУЗа.
    ccde-cambodia.com/cb-profile/pluginclass/cbblogs?action=blogs&func=show&id=118

  11. Waynetar说道:

    mexico drug stores pharmacies: buying from online mexican pharmacy – purple pharmacy mexico price list

  12. DominicHOr说道:

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

  13. Trefeix说道:

    Здравствуйте!
    Можно ли купить аттестат о среднем образовании, основные моменты и вопросы
    muktipotro.com/22141
    Всегда вам поможем!.

  14. Trefnfv说道:

    Добрый день!
    Сколько стоит диплом высшего и среднего образования и как его получить?
    caretrip.net/купить-диплом-вуза-быстро-и-легко
    Рады оказать помощь!.

  15. Sazruxs说道:

    Здравствуйте!
    Мы предлагаем дипломы психологов, юристов, экономистов и любых других профессий по приятным тарифам. Цена зависит от выбранной специальности, года получения и ВУЗа. Всегда стараемся поддерживать для покупателей адекватную политику тарифов. Важно, чтобы дипломы были доступными для большого количества наших граждан.
    bookmarkprobe.com/story17268629/купить-диплом-в-Самаре

  16. Arnoldscava说道:

    mexico pharmacy reputable mexican pharmacies online mexican rx online

  17. Dnrtzcp说道:

    Здравствуйте!
    Купить документ ВУЗа можно у нас.
    ast-diploms24.ru/kupit-diplom-nizhnij-novgorod
    Успешной учебы!

  18. DominicHOr说道:

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

  19. Sazrlgo说道:

    Добрый день!
    Мы можем предложить дипломы любой профессии по разумным тарифам. Цена будет зависеть от выбранной специальности, года выпуска и ВУЗа. Стараемся поддерживать для заказчиков адекватную ценовую политику. Важно, чтобы документы были доступны для подавляющей массы граждан.
    newsinweek.ru/put-k-uspehu-kak-kupit-diplom-i-stat-liderom-v-svoey-oblasti/

  20. NelsonSaIlk说道:

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

  21. Lazrkop说道:

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

  22. Arnoldscava说道:

    best online pharmacies in mexico buying prescription drugs in mexico reputable mexican pharmacies online

  23. BomesMix说道:

    Lorem Ipsum has been the industry’s standard dummy text https://befitjusteat.pl/taeffoc of type and scrambled it to make a type specimen book.

  24. Mazrimm说道:

    Привет, друзья!
    Быстрое обучение и получение диплома магистра – возможно ли это?
    diplomyx-man.ru

  25. Mazrrco说道:

    Добрый день!
    Как купить диплом о высшем образовании с минимальными рисками
    mans-diplomy.ru

  26. NelsonSaIlk说道:

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

  27. NelsonSaIlk说道:

    medication from mexico pharmacy: mexico drug stores pharmacies – reputable mexican pharmacies online

  28. Mazrait说道:

    Здравствуйте!
    Приобретение диплома ПТУ с сокращенной программой обучения в Москве
    mans-diploms.ru

  29. Arnoldscava说道:

    mexican online pharmacies prescription drugs mexican pharmacy reputable mexican pharmacies online

  30. Waynetar说道:

    mexico pharmacies prescription drugs: mexico drug stores pharmacies – pharmacies in mexico that ship to usa

  31. Mazreuy说道:

    Добрый день!
    Приобрести документ ВУЗа вы сможете у нас в Москве. Мы предлагаем документы об окончании любых ВУЗов Российской Федерации. Вы получите необходимый диплом по любой специальности, включая документы старого образца. Даем гарантию, что в случае проверки документа работодателем, подозрений не появится.
    Мы готовы предложить дипломы психологов, юристов, экономистов и других профессий по приятным тарифам. Цена будет зависеть от выбранной специальности, года получения и образовательного учреждения. Стараемся поддерживать для заказчиков адекватную политику цен. Для нас важно, чтобы документы были доступными для большого количества граждан.
    military-lip-b05.notion.site/f82a27b820314e24b42a5ea7bdd28c59/
    Поможем вам всегда!

  32. Waynetar说道:

    buying from online mexican pharmacy: purple pharmacy mexico price list – best online pharmacies in mexico

  33. Mazrajv说道:

    Привет, друзья!
    Купить документ о получении высшего образования можно у нас в Москве. Мы оказываем услуги по производству и продаже документов об окончании любых ВУЗов Российской Федерации. Вы получите необходимый диплом по любым специальностям, включая документы Советского Союза. Гарантируем, что при проверке документа работодателем, подозрений не появится.
    Мы изготавливаем дипломы любой профессии по выгодным ценам. Стоимость может зависеть от определенной специальности, года получения и ВУЗа. Стараемся поддерживать для покупателей адекватную ценовую политику. Важно, чтобы дипломы были доступными для большинства наших граждан.
    edenhazardclub.com/read-blog/3589_rasshirennoe-opisanie-priobreteniya-attestata-v-onlajn-magazine.html
    Рады оказать помощь!

  34. Diplomi_rhol说道:

    Здравствуйте!
    Заказать документ института можно у нас в столице.
    ast-diplom.com/kupit-diplom-bakalavra-ili-specialista

  35. Danrmxz说道:

    Привет, друзья!
    Мы изготавливаем дипломы психологов, юристов, экономистов и любых других профессий.
    clubeslotcartrofa.com/купить-диплом-о-вуза
    Всегда вам поможем!.

  36. Dnrtqpd说道:

    Привет!
    Приобрести документ о получении высшего образования вы имеете возможность в нашем сервисе.
    diplomasx24.ru/otzyvy
    Успешной учебы!

  37. DominicHOr说道:

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

  38. Arnoldscava说道:

    mexico pharmacy mexican mail order pharmacies buying prescription drugs in mexico

  39. Diplomi_rlol说道:

    Привет, друзья!
    Купить документ о получении высшего образования можно у нас в столице.
    asxdiplomik.com/kupit-diplom-perm

  40. NelsonSaIlk说道:

    medication from mexico pharmacy: buying prescription drugs in mexico online – mexican mail order pharmacies

  41. Arnoldscava说道:

    mexico pharmacy mexican mail order pharmacies mexican online pharmacies prescription drugs

  42. I love your blog.. very nice colors & theme. Did you create
    this website yourself or did you hire someone to do it for you?
    Plz reply as I’m looking to construct my own blog and would
    like to find out where u got this from. many thanks

  43. NelsonSaIlk说道:

    п»їbest mexican online pharmacies: mexican mail order pharmacies – mexican rx online

  44. DominicHOr说道:

    reputable mexican pharmacies online: best online pharmacies in mexico – mexican border pharmacies shipping to usa

  45. BomesMix说道:

    Lorem Ipsum has been the industry’s standard dummy text https://mobilitatelx.es/zdqyo of type and scrambled it to make a type specimen book.

  46. Trefwyc说道:

    Привет!
    Узнайте, как безопасно купить диплом о высшем образовании
    tanhashop.com/category/uncategorized/page/2
    Поможем вам всегда!.

  47. Arnoldscava说道:

    medication from mexico pharmacy [url=http://mexicandeliverypharma.com/#]buying prescription drugs in mexico[/url] mexican online pharmacies prescription drugs

发表回复

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