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

/ 44,234评论 / 217248阅读 / 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. Dnrtwwl说道:

    Привет!
    Заказать документ института вы можете в нашей компании.
    ast-diploms.com/otzyvy
    Успешной учебы!

  2. Uazrchr说道:

    Добрый день!
    Где заказать диплом специалиста?
    http://www.eSurveysPro.com/Survey.aspx?id=19d83309-26ea-40b3-adbc-dbe80bd1adf3

  3. Jamesjer说道:

    buy generic ciprofloxacin: cipro for sale – buy generic ciprofloxacin

  4. Diplomi_jeol说道:

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

  5. Frankpox说道:

    Luis Suarez https://inter-miami.luis-suarez-ar.com the famous Uruguayan footballer, ended his brilliant career in European clubs and decided to try his hand at a new challenge – Major League Soccer.

  6. Jamesjer说道:

    where can i get clomid pill: can i order clomid pill – where to buy clomid prices

  7. Jamesjer说道:

    doxycycline tablets 100mg: doxycycline india pharmacy – doxycycline 50 mg price australia

  8. BomesMix说道:

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

  9. Diplomi_znol说道:

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

  10. Lazrktc说道:

    Привет!
    Где приобрести диплом по актуальной специальности?
    Купить диплом университета.
    mystroycenter.ru/diplom-za-dengi-byistro-nadezhno-bezopasno

  11. Lazrsdw说道:

    Здравствуйте!
    Где приобрести диплом специалиста?
    Заказать диплом о высшем образовании.
    b98385gb.beget.tech/2024/07/11/bystroe-i-bezopasnoe-poluchenie-diploma.html

  12. ThomasInace说道:

    https://paxloviddelivery.pro/# Paxlovid over the counter

  13. Lazrqdu说道:

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

  14. Lazrxst说道:

    Здравствуйте!
    Где заказать диплом по нужной специальности?
    Заказать диплом любого университета.
    fabnews.ru/forum/showthread.php?p=79938#post79938

  15. ThomasInace说道:

    https://ciprodelivery.pro/# buy ciprofloxacin over the counter

  16. Cazrkvn说道:

    Привет, друзья!
    Мы можем предложить документы ВУЗов, которые расположены в любом регионе РФ. Можно заказать качественный диплом за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Документы выпускаются на “правильной” бумаге высшего качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригинала. Они заверяются необходимыми печатями и штампами.
    ls.monetka.in.ua/2024/07/09/priobretaem-dokumenty-v-proverennom-magazine-po-vygodnoy-cene.html

  17. Mazrlws说道:

    Привет, друзья!
    Как официально приобрести аттестат 11 класса с минимальными затратами времени
    openmotonews.ru/vash-diplom-byistro-i-nadezhno

  18. Very nice write-up. I definitely love this site. Stick with it!

  19. Jamesjer说道:

    ciprofloxacin mail online: ciprofloxacin generic – buy generic ciprofloxacin

  20. Yrefudt说道:

    Привет, друзья!
    Купить диплом университета.
    http://www.arpt.gov.gn/decret-d-2021-092-prg-sgg-portant-transactions-electroniques-en-republique-de-guinee
    Успешной учебы!

  21. Dnrtlrz说道:

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

  22. BomesMix说道:

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

  23. Lariormiw说道:

    Рекомендации по безопасной покупке диплома о высшем образовании
    ast-diploms.com/kupit-diplom-vracha

  24. Sazrypg说道:

    Привет, друзья!
    Узнайте стоимость диплома высшего и среднего образования и процесс получения
    590909.ru/users/74
    Поможем вам всегда!

  25. Danrsdo说道:

    Здравствуйте!
    Мы предлагаем дипломы любой профессии.
    http://www.topairpack.com/диплом-купить-надежно/
    Рады оказать помощь!.

  26. ThomasInace说道:

    http://doxycyclinedelivery.pro/# doxycycline 1000 mg best buy

  27. ThomasInace说道:

    http://amoxildelivery.pro/# where to get amoxicillin over the counter

  28. Anonymous说道:

    I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

  29. Sazrypa说道:

    Добрый день!
    Мы изготавливаем дипломы любой профессии по разумным ценам. Цена будет зависеть от выбранной специальности, года выпуска и образовательного учреждения. Стараемся поддерживать для заказчиков адекватную ценовую политику. Важно, чтобы дипломы были доступными для подавляющей массы граждан.
    userbookmark.com/story17012524/купить-диплом-в-Воронеже

  30. Lazrisr说道:

    Здравствуйте!
    Мы изготавливаем дипломы любой профессии по выгодным тарифам.
    onetable.world/read-blog/59803

  31. Xazrzvp说道:

    Добрый день!
    Как правильно приобрести диплом колледжа или ПТУ в России, важные моменты
    landik-diploms-srednee.ru/svidetelstvo-o-razvode В 

  32. Diplomi_ewol说道:

    Привет!
    Приобрести документ о получении высшего образования можно в нашем сервисе.
    ast-diplomy.com/kupit-diplom-specialista 

  33. ThomasInace说道:

    http://amoxildelivery.pro/# amoxicillin for sale

  34. Cazrvab说道:

    Добрый день!
    Мы готовы предложить документы техникумов, расположенных на территории всей России. Можно приобрести качественно сделанный диплом от любого заведения, за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты выпускаются на бумаге самого высокого качества. Это позволяет делать настоящие дипломы, не отличимые от оригиналов. Документы заверяются необходимыми печатями и штампами.
    sikhona.social/blogs/35217/%D0%9B%D0%B5%D0%B3%D0%BA%D0%BE-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%82-%D0%B2-%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%BC-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-Russian-Diplom

  35. ThomasInace说道:

    https://amoxildelivery.pro/# amoxicillin 500 mg without a prescription

  36. Manrriq说道:

    Здравствуйте!
    Приобрести документ о получении высшего образования
    ast-diploms24.ru/kupit-diplom-sankt-peterburg

  37. BomesMix说道:

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

  38. ThomasInace说道:

    https://amoxildelivery.pro/# how much is amoxicillin prescription

  39. Your style is so unique compared to other people I’ve read stuff
    from. Thank you for posting when you’ve got the opportunity, Guess I’ll just bookmark this
    blog.

  40. ThomasInace说道:

    https://amoxildelivery.pro/# medicine amoxicillin 500

  41. ThomasInace说道:

    http://doxycyclinedelivery.pro/# doxycycline hyclate capsules

  42. LarryLip说道:

    консольный грузовой подъемник нужен подъемник грузовой

  43. Cazrajb说道:

    Привет!
    Мы готовы предложить документы ВУЗов, расположенных на территории всей РФ. Можно заказать качественно сделанный диплом от любого заведения, за любой год, включая сюда документы старого образца. Документы печатаются на бумаге высшего качества. Это позволяет делать государственные дипломы, которые невозможно отличить от оригинала. Документы будут заверены необходимыми печатями и подписями.
    http://www.southjerseyonline.net/component/comprofiler/pluginclass/cbblogs.html?action=blogs&func=show&id=271

  44. Cazrqok说道:

    Здравствуйте!
    Мы предлагаем документы техникумов, расположенных на территории всей РФ. Можно купить диплом от любого учебного заведения, за любой год, в том числе документы старого образца СССР. Документы выпускаются на бумаге самого высшего качества. Это дает возможность делать настоящие дипломы, которые не отличить от оригинала. Они заверяются всеми необходимыми печатями и штампами.
    http://www.scenario.press/blogs/19256/%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5-%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2-%D0%B2-%D0%BF%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%BC-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5

  45. Jamesjer说道:

    where to buy generic clomid without prescription: order generic clomid without insurance – clomid without a prescription

  46. Cazrvri说道:

    Привет!
    Мы предлагаем документы ВУЗов, расположенных в любом регионе России. Вы сможете приобрести диплом за любой год, в том числе документы старого образца. Дипломы и аттестаты делаются на “правильной” бумаге самого высокого качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригинала. Документы будут заверены необходимыми печатями и подписями.
    asepbook.com/read-blog/3797

  47. Dnrtnxv说道:

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

  48. Jamesjer说道:

    buy cipro no rx: buy ciprofloxacin over the counter – buy ciprofloxacin over the counter

  49. ThomasInace说道:

    http://ciprodelivery.pro/# ciprofloxacin over the counter

发表回复

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