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

/ 51,880评论 / 255869阅读 / 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. Jeffreyquime说道:

    Manny Pacquiao https://filipino-boxer.manny-pacquiao-ar.com is one of the most prominent boxers in the history of the sport.

  2. Keithdoure说道:

    Mike Tyson https://american-boxer.mike-tyson-ar.com one of the most famous and influential boxers in history, was born on June 30, 1966 in Brooklyn, New York.

  3. HerbertSed说道:

    Muhammad Ali https://american-boxer.muhammad-ali-ar.com is perhaps one of the most famous and greatest athletes in the history of boxing.

  4. Trefrym说道:

    Добрый день!
    Аттестат 11 класса купить официально с упрощенным обучением в Москве
    mockwacom.getbb.ru/viewtopic.php?f=11&t=1728
    Рады помочь!.

  5. BomesMix说道:

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

  6. Yreftez说道:

    Привет!
    Приобрести диплом о высшем образовании.
    appleincub.ru/kupit-diplomyi-s-polnyim-paketom-dokumentov
    Успешной учебы!

  7. Lazrwew说道:

    Добрый день!
    Где купить диплом специалиста?
    Купить диплом о высшем образовании.
    100foto.com/forum/user/1575/

  8. Jamesjer说道:

    can you buy cheap clomid for sale: where buy clomid without insurance – where to buy clomid prices

  9. Dnrtniy说道:

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

  10. JamesvaG说道:

    i-guru – Ремонт Iphone и другой техники Apple в Минске
    ремонт wi fi айфона 12 Pro Max Минск
    Профессиональный ремонт любых устройств из линейки Apple, без посредников
    80% ремонтов iPhone занимает около 20 минут
    Несложные ремонты делаются быстро, модульный ремонт в большинстве случаев занимает не более 20 минут.
    Почему выбирают i-guru
    Ремонт в тот же день
    Даже большинство сложных ремонтов выполняем день в день.
    Гарантировано низкие цены
    Мы беремся за сложные задачи, не передавая их сторонним исполнителям, и зарабатываем не как посредники.
    Честная гарантия
    Предлагаем честную гарантию на выполненные работы до 12 месцев в зависимости от вида работ.

  11. Lazrfgu说道:

    Добрый день!
    Где заказать диплом по нужной специальности?
    Купить диплом о высшем образовании.
    moscowurban.getbb.ru/viewtopic.php?f=12&t=1663

  12. Uazrlcq说道:

    Здравствуйте!
    Купить диплом о высшем образовании.
    borderforum.ru/viewtopic.php?f=7&t=10294&sid=28cb62f59c5aa246312f7d4a4668aa7d

  13. Lazrrwc说道:

    Здравствуйте!
    Купить диплом о высшем образовании.
    irc71.ru/index.php/jomsocial/groups/viewbulletin/257-kak-podyskat-nadezhnyj-onlajn-magazin-s-obshirnym-katalogom-diplomov?groupid=47

  14. MyronEvown说道:

    https://clomiddelivery.pro/# can i order cheap clomid pills
    amoxicillin 500mg no prescription [url=http://amoxildelivery.pro/#]amoxicillin 500 mg where to buy[/url] ampicillin amoxicillin

  15. ThomasInace说道:

    http://clomiddelivery.pro/# can i get clomid online

  16. Cazryre说道:

    Привет, друзья!
    Мы готовы предложить документы техникумов, которые расположены в любом регионе РФ. Вы сможете купить диплом от любого заведения, за любой год, указав необходимую специальность и оценки за все дисциплины. Документы печатаются на “правильной” бумаге высшего качества. Это позволяет делать настоящие дипломы, которые не отличить от оригиналов. Они заверяются всеми обязательными печатями и штампами.
    tosiya.ru/cb-profile/pluginclass/cbblogs.html?action=blogs&func=show&id=305

  17. Lariornnl说道:

    Быстрая покупка диплома старого образца: возможные риски
    ast-diplomas24.ru/kupit-diplom-krasnoyarsk

  18. Trefoxj说道:

    Здравствуйте!
    Покупка диплома о среднем полном образовании: как избежать мошенничества?
    liderotrasli.ru/index.php?subaction=userinfo&user=okuwuc
    Поможем вам всегда!.

  19. Trefqsd说道:

    Привет!
    Покупка школьного аттестата с упрощенной программой: что важно знать
    vrn.best-city.ru/forum/thread540115837/
    Окажем помощь!.

  20. Lazrsni说道:

    Привет, друзья!
    Приобрести диплом о высшем образовании.
    stareishina.com/gallery/image/3633-lux-diplomru/

  21. Trefvfq说道:

    Привет, друзья!
    Процесс получения диплома стоматолога: реально ли это сделать быстро?
    a-bcd.ru/news/201718/
    Поможем вам всегда!.

  22. Jamesjer说道:

    doxycycline online no prescription: doxycycline without rx – tetracycline doxycycline

  23. BomesMix说道:

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

  24. Jamesjer说道:

    buy cipro without rx: buy cipro online without prescription – buy cipro online without prescription

  25. Diplomi_kdol说道:

    Добрый день!
    Заказать документ о получении высшего образования можно в нашей компании.
    ast-diploms.com/kupit-diplom-bakalavra-ili-specialista 

  26. Jamesjer说道:

    cost cheap clomid now: where to buy clomid without a prescription – where can i buy clomid without insurance

  27. ThomasInace说道:

    http://doxycyclinedelivery.pro/# doxycycline minocycline

  28. ThomasInace说道:

    http://clomiddelivery.pro/# where can i buy clomid no prescription

  29. ThomasInace说道:

    http://ciprodelivery.pro/# ciprofloxacin 500 mg tablet price

  30. Sazralv说道:

    Здравствуйте!
    Рекомендации по безопасной покупке диплома о высшем образовании
    iaescortsmap.ixbb.ru/viewtopic.php?id=108#p108
    Рады помочь!

  31. Dnrttix说道:

    Привет, друзья!
    Приобрести документ о получении высшего образования вы сможете в нашем сервисе.
    ast-diplomas.com/kupit-diplom-o-srednem-obrazovanii
    Удачи!

  32. ThomasInace说道:

    http://amoxildelivery.pro/# amoxicillin discount

  33. Qazryuc说道:

    Привет!
    Полезные советы по безопасной покупке диплома о высшем образовании.
    Заказать диплом ВУЗа.
    chatclub.mn.co/posts/61838312

  34. Jamesjer说道:

    paxlovid buy: paxlovid pill – paxlovid generic

  35. Eanrcxa说道:

    Привет!
    Мы изготавливаем дипломы любой профессии по выгодным тарифам.
    bence.net/read-blog/59_proverennyj-onlajn-magazin-s-ogromnym-assortimentom-diplomov.html?mode=night

  36. ThomasInace说道:

    https://paxloviddelivery.pro/# paxlovid for sale

  37. Dnrtacx说道:

    Привет, друзья!
    Приобрести документ ВУЗа вы сможете в нашем сервисе.
    ast-diplom.com/kupit-diplom-o-srednem-obrazovanii
    Хорошей учебы!

  38. Dnrtfio说道:

    Привет!
    Приобрести документ университета вы имеете возможность в нашем сервисе.
    ast-diplomas24.ru/kupit-diplom-rostov-na-donu
    Успешной учебы!

  39. Dnrtbiv说道:

    Привет, друзья!
    Приобрести документ университета можно у нас.
    diploms-x.com/kupit-diplom-krasnoyarsk
    Успешной учебы!

  40. Jamesjer说道:

    amoxicillin without a prescription: amoxicillin over counter – amoxicillin 500 mg tablets

  41. ThomasInace说道:

    http://doxycyclinedelivery.pro/# doxycycline price usa

  42. Cazruek说道:

    Здравствуйте!
    Мы предлагаем документы техникумов, расположенных на территории всей РФ. Можно купить качественный диплом от любого учебного заведения, за любой год, указав подходящую специальность и оценки за все дисциплины. Дипломы и аттестаты делаются на бумаге самого высокого качества. Это дает возможность делать настоящие дипломы, не отличимые от оригинала. Они будут заверены всеми требуемыми печатями и подписями.
    ld6aehw2v.get-blogging.com/28758210/%D0%9A%D0%B0%D0%BA-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B1%D1%8B%D1%81%D1%82%D1%80%D0%BE-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C-%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%82-%D0%B2-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5

  43. Diplomi_kool说道:

    Привет!
    Купить документ ВУЗа можно у нас в столице.
    diploms-x.com/kupit-diplom-s-registraciej 

  44. ngentot说道:

    Saved as a favorite, I like your web site!

  45. Sazrtbs说道:

    Привет!
    Как купить аттестат 11 класса с официальным упрощенным обучением в Москве
    znamo.listbb.ru/posting.php?mode=post&f=9
    Окажем помощь!

  46. Eanrtpy说道:

    Добрый день!
    Мы предлагаем дипломы психологов, юристов, экономистов и прочих профессий по приятным ценам.
    standart-rzn.ru/kvartiry-i-mkd/vychet-na-pokupku-doma-s-uchastkom.html

  47. Eanrdlj说道:

    Привет, друзья!
    Мы изготавливаем дипломы любой профессии по приятным тарифам.
    http://www.niagarafallspal.com/read-blog/829_zhelaete-zakazat-diplom-u-nadezhnogo-proizvoditelya-zahodite.html

发表回复

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