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

/ 44,222评论 / 217183阅读 / 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. Lazrrjw说道:

    Привет, друзья!
    Заказать диплом о высшем образовании.
    yobasket.es/es/perfil-usuario/pluginclass/cbblogs.html?action=blogs&func=show&id=121

  2. Lazrbjv说道:

    Привет!
    Заказать диплом университета.
    laporteproperty.com/en/cb-profile/pluginclass/cbblogs?action=blogs&func=show&id=121

  3. MyronEvown说道:

    http://paxloviddelivery.pro/# п»їpaxlovid
    can i purchase clomid no prescription [url=http://clomiddelivery.pro/#]can i get clomid pills[/url] order cheap clomid without dr prescription

  4. AaronBek说道:

    Компания Септик-Нара-купить септик для дома
    занимается продажей, установкой и обслуживанием септиков в Наро-Фоминске Наро-Фоминском районе. Основное направление деятельности нашей компании именно установка под ключ септиков любых видов и размеров. С момента основания нашей компании, мы произвели монтаж более 1000 септиков по Московской и Калужской области. Благодаря этому у нас огромный опыт работы с любыми станциями, представленными в нашем регионе!
    Если Вы решили купить септик для дома или дачи, мы с радостью поможем Вам с выбором модели, доставим и установим септик на вашем участке в кратчайшие сроки.
    Мы занимаемся продажей септиков таких марок: Топас Юнилос Астра Евролос Тверь Аквалос Дочиста Фекалов Волгарь Удача. Мы работаем напрямую с производителями септиков, поэтому Вы можете быть уверены, что не переплачиваете ни копейки. Вся продукция в нашей компании имеет соответствующие сертификаты и лицензии. Время выезда на осмотр, установки или привоза оборудования согласовывается с клиентами и выполняется в срок. Мы заботимся о своей репутации, поэтому выполняем работу надежно и быстро.
    Если Вы не знаете, какой септик больше всего Вам подходит, мы предоставим консультацию и выезд специалиста на Ваш участок абсолютно бесплатно!
    Благодаря приобретению качественных септиков в нашей компании, каждый клиент получает большое количество преимуществ:
    » компактные размеры и небольшой вес устройства;
    » доступная стоимость очистной установки;
    » быстрый и простой монтаж;
    » невысокая стоимость эксплуатации;
    » отсутствие неприятных запахов;
    » высокая производительность;
    » длительный срок эксплуатации;
    » высокая степень очистки;
    » практически полностью автономный режим работы.

  5. ThomasInace说道:

    https://paxloviddelivery.pro/# Paxlovid buy online

  6. Dnrteyv说道:

    Привет, друзья!
    Купить документ университета можно в нашей компании в Москве.
    ast-diploms24.ru/kupit-diplom-vracha
    Успешной учебы!

  7. 슬롯 게임 무료
    따뜻한 정자에서 진이위의 사령관인 샤오징과 모빈이 특급 보고서를 보냈다.

  8. Jamesjer说道:

    ciprofloxacin 500mg buy online: buy cipro no rx – ciprofloxacin over the counter

  9. ThomasInace说道:

    http://amoxildelivery.pro/# amoxicillin 500mg capsule buy online

  10. Sazrvew说道:

    Привет, друзья!
    Как получить диплом техникума с упрощенным обучением в Москве официально
    mirnuy.forumieren.de/t8214-topic#13486
    Рады помочь!

  11. ThomasInace说道:

    http://ciprodelivery.pro/# buy ciprofloxacin

  12. Lariorrag说道:

    Удивительно, но купить диплом кандидата наук оказалось не так сложно
    asxdiplomik.com/kupit-diplom-voronezh

  13. Sahabet说道:

    After all, what a great site and informative posts, I will upload inbound link – bookmark this web site? Regards, Reader.Seo Paketi Skype: By_uMuT@KRaLBenim.Com -_- live:by_umut

  14. Sahabet说道:

    Nice article inspiring thanks. Hello Administ . Seo Paketi Skype: By_uMuT@KRaLBenim.Com -_- live:by_umut

  15. lehenga说道:

    Hello! I just wish to give you a huge thumbs up for your excellent information you have here on this post. I will be coming back to your blog for more soon.

  16. BomesMix说道:

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

  17. Dnrtmpk说道:

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

  18. Dnrtken说道:

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

  19. Dnrtwbh说道:

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

  20. Good post! We will be linking to this particularly great post on our site. Keep up the great writing

  21. Lariorgjm说道:

    Как не стать жертвой мошенников при покупке диплома о среднем полном образовании
    diplomyx24.ru/kupit-diplom-s-registraciej

  22. Vid-stroy_ncOt说道:

    интернет магазин стройматериалов интернет магазин стройматериалов .

  23. Yrefqhn说道:

    Привет!
    Приобрести диплом о высшем образовании.
    http://www.4x4zubry.by/forum/messages/forum1/topic1595/message179077/?result=new#message179077
    Успехов в учебе!

  24. Eanrxxg说道:

    Добрый день!
    Мы изготавливаем дипломы любых профессий по выгодным тарифам.
    cocapal.com/read-blog/823_proverennyj-internet-magazin-s-bolshim-katalogom-diplomov.html

  25. Eanrdge说道:

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

  26. Lazreem说道:

    Привет!
    Мы изготавливаем дипломы любой профессии по приятным ценам.
    pumasoccershoesfans.com/read-blog/2126_pravilno-pokupaem-diplom-v-internete-avtorskij-obzor.html?mode=day

  27. KeithPex说道:

    FC Barcelona https://spain.fc-barcelona-ar.com is undoubtedly one of the most famous and well-known football clubs in the world.

  28. Cazrhub说道:

    Привет!
    Мы можем предложить документы ВУЗов, расположенных в любом регионе РФ. Вы имеете возможность заказать диплом за любой год, включая сюда документы старого образца СССР. Дипломы и аттестаты выпускаются на бумаге самого высокого качества. Это позволяет делать настоящие дипломы, не отличимые от оригинала. Документы заверяются всеми требуемыми печатями и штампами.
    logozhajyzho.raidersfanteamshop.com/legko-pokupaem-diplom-v-internet-magazine-russian-diplom

  29. Yreficv说道:

    Здравствуйте!
    Приобрести диплом о высшем образовании.
    shiba-inu.ru/forum/messages/forum1/topic437/message445/?result=new#message445
    Успешной учебы!

  30. Lazrdxd说道:

    Привет!
    Мы предлагаем дипломы любых профессий по невысоким тарифам.
    newmanstrength.com/диплом-проведенный-купить/

  31. Cazrsvy说道:

    Добрый день!
    Мы можем предложить документы техникумов, расположенных на территории всей России. Вы имеете возможность приобрести качественно сделанный диплом за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Документы печатаются на “правильной” бумаге высшего качества. Это дает возможность делать настоящие дипломы, которые не отличить от оригиналов. Они будут заверены всеми обязательными печатями и штампами.
    havenholistichealth.mn.co/posts/61828765

  32. Xazrgxg说道:

    Здравствуйте!
    Как получить диплом техникума с упрощенным обучением в Москве официально
    arusak-diploms-srednee.ru В 

  33. Manrzrk说道:

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

  34. BomesMix说道:

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

  35. Jamesjer说道:

    Paxlovid over the counter: paxlovid buy – paxlovid buy

  36. ThomasInace说道:

    http://clomiddelivery.pro/# how can i get cheap clomid without a prescription

  37. Jamesjer说道:

    doxycycline 250: doxycycline 600 mg – doxycycline hyclate

  38. Trefxrr说道:

    Привет, друзья!
    Быстрая схема покупки диплома старого образца: что важно знать?
    teplostar72.ru/index.php?subaction=userinfo&user=yroquze
    Всегда вам поможем!.

  39. Sazrlml说道:

    Привет!
    Официальная покупка аттестата о среднем образовании в Москве и других городах
    crystalroleplay.listbb.ru/ucp.php?mode=login&sid=012b3e354f2a64f04efe6f8f3da2b2a0
    Всегда вам поможем!

  40. Uazrpic说道:

    Привет, друзья!
    Где приобрести диплом специалиста?
    ekonty.com/blogs/view/58699

  41. Michaeladume说道:

    Al-Ittihad https://saudi.al-ittihad-ar.com is one of the most famous football clubs in Saudi Arabia. Founded in 1927, the Saudi football giant has come a long way to the pinnacle of success.

  42. Josephpeeri说道:

    Al-Nasr Club https://saudi.al-hilal-ar.com from Riyadh has a rich history of success, but its growth has been particularly impressive in recent years.

  43. KennethNal说道:

    Full list of CS:GO/CS2 https://wiki.vpesports.com skins, detail descriptions

  44. BrianLax说道:

    Al-Nasr https://saudi.al-nassr-ar.com is one of the most famous football teams in the Kingdom of Saudi Arabia.

  45. Uazrdzy说道:

    Привет!
    Приобрести диплом любого университета.
    http://www.shopwheel.ru/club/user/49/blog/54943/

  46. ThomasInace说道:

    https://doxycyclinedelivery.pro/# doxycycline in mexico

  47. порево классный секс https://klassny-sex.ru .

发表回复

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