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

/ 51,883评论 / 255879阅读 / 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. ThomasInace说道:

    https://paxloviddelivery.pro/# paxlovid generic

  2. Sazrcpr说道:

    Добрый день!
    Как официально купить аттестат 11 класса с упрощенным обучением в Москве
    armit.ru/social/user/42552/forum/message/1605/1607/#message1607
    Всегда вам поможем!

  3. Mazrmhr说道:

    Здравствуйте!
    Как получить диплом о среднем образовании в Москве и других городах
    wegoflc.com/купить-диплом-в-тольятти/

  4. Razrxzk说道:

    Добрый день!
    Мы предлагаем купить диплом отличного качества, неотличимый от оригинала без участия специалиста высокой квалификации с дорогостоящим оборудованием.
    “www.inline.spb.ru/in/index.php?option=com_fireboard&Itemid=15&func=view&catid=7&id=4924#4924”
    Успехов в учебе!

  5. Manrtjq说道:

    Добрый день!
    Где приобрести диплом по актуальной специальности?
    Мы предлагаем документы институтов, расположенных на территории всей РФ. Вы сможете приобрести качественно напечатанный диплом от любого заведения, за любой год, включая документы старого образца СССР. Дипломы выпускаются на “правильной” бумаге самого высокого качества. Это дает возможность делать настоящие дипломы, которые невозможно отличить от оригиналов. Они заверяются всеми требуемыми печатями и подписями.
    Мы можем предложить дипломы психологов, юристов, экономистов и любых других профессий по приятным ценам.
    asxdiplomik24.ru/kupit-diplom-nizhnij-novgorod
    Всегда вам поможем!

  6. лучшее бесплатное порно 2024 https://www.best-free-porno.ru .

  7. Jamesjer说道:

    ciprofloxacin generic price: buy cipro – cipro

  8. Lazrrab说道:

    Привет, друзья!
    Где купить диплом по необходимой специальности?
    Приобрести диплом о высшем образовании.
    medbereg.ru/club/user/15/blog/4123/

  9. ThomasInace说道:

    http://doxycyclinedelivery.pro/# doxycycline 200 mg pill

  10. Lazrcaf说道:

    Привет, друзья!
    Где купить диплом по необходимой специальности?
    Заказать диплом любого ВУЗа.
    sonnick84.rusedu.net/post/10787/113369

  11. Diplomi_olol说道:

    Здравствуйте!
    Приобрести документ института можно в нашей компании в столице.
    ast-diploms.com/kupit-diplom-omsk

  12. Eanryfe说道:

    Здравствуйте!
    Мы изготавливаем дипломы любых профессий по выгодным ценам.
    bankendigital.de/дипломы-купить-в-кирове/

  13. ThomasInace说道:

    http://clomiddelivery.pro/# how to get cheap clomid for sale

  14. Xazrrhz说道:

    Привет!
    Покупка диплома о среднем полном образовании: как избежать мошенничества?
    landik-diploms-srednee.ru/kupit-diplom-v-kazani  

  15. MyronEvown说道:

    https://clomiddelivery.pro/# cheap clomid
    doxycycline 500mg capsules [url=http://doxycyclinedelivery.pro/#]doxycycline 40 mg capsule[/url] how can i get doxycycline

  16. ThomasInace说道:

    https://amoxildelivery.pro/# amoxicillin 500 mg tablet price

  17. Dnrtapv说道:

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

  18. Xazrheq说道:

    Привет!
    Как официально купить диплом вуза с упрощенным обучением в Москве
    arusak-diploms-srednee.ru/diplom-sredne-spetcialnoe-obrazovanie  

  19. Jamesjer说道:

    cipro: п»їcipro generic – buy cipro online canada

  20. ThomasInace说道:

    http://amoxildelivery.pro/# amoxicillin 500 mg

  21. Cazrfwy说道:

    Привет, друзья!
    Мы предлагаем документы техникумов, которые расположены на территории всей РФ. Можно купить качественно напечатанный диплом за любой год, включая документы старого образца СССР. Дипломы и аттестаты выпускаются на бумаге самого высокого качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригинала. Они заверяются всеми требуемыми печатями и подписями.
    dinsta-gram.com/read-blog/4425

  22. Flum pebble说道:

    When I initially left a comment I appear to have clicked the -Notify me when new comments are added- checkbox and now every time a comment is added I get four emails with the same comment. Perhaps there is an easy method you are able to remove me from that service? Thanks a lot.

  23. Robertlot说道:

    Priyanka Chopra https://baywatch.priyankachopra-ar.com is an Indian actress, singer, film producer and model who has achieved global success.

  24. KennethRorie说道:

    When Taylor Swift https://shake-it-off.taylor-swift-ar.com released “Shake It Off” in 2014, she had no idea how much the song would impact her life and music career.

  25. MatthewBup说道:

    Liverpool https://england.liverpool-ar.com holds a special place in the history of football in England.

  26. Trefpya说道:

    Привет!
    Приобретение диплома ПТУ с сокращенной программой обучения в Москве
    railagent.ru/club/user/109969/
    Рады оказаться полезными!.

  27. Raymondjoirl说道:

    Автомобили Hongqi https://hongqi-krasnoyarsk.ru в наличии – официальный дилер Hongqi Красноярск

  28. ThomasInace说道:

    https://clomiddelivery.pro/# buy cheap clomid no prescription

  29. ThomasInace说道:

    http://clomiddelivery.pro/# how to get cheap clomid without rx

  30. смотреть лучшее порно бесплатно без регистрации смотреть лучшее порно бесплатно без регистрации .

  31. Danrzkm说道:

    Привет!
    Где заказать диплом специалиста?
    Мы можем предложить дипломы психологов, юристов, экономистов и прочих профессий по доступным тарифам. Стоимость зависит от той или иной специальности, года получения и ВУЗа. Стараемся поддерживать для клиентов адекватную политику тарифов. Для нас очень важно, чтобы дипломы были доступны для большого количества граждан.
    Для вас изготавливаем дипломы любых профессий по выгодным ценам.
    http://www.topairpack.com/диплом-купить-надежно/
    Окажем помощь!.

  32. Cazrdui说道:

    Здравствуйте!
    Мы предлагаем документы техникумов, которые расположены в любом регионе России. Вы имеете возможность купить качественно сделанный диплом от любого заведения, за любой год, включая документы старого образца. Документы делаются на “правильной” бумаге самого высокого качества. Это дает возможность делать государственные дипломы, которые невозможно отличить от оригиналов. Они заверяются всеми обязательными печатями и штампами.
    forum-rassvet-rp.ru/index.php?app=gallery&module=gallery&controller=view&id=25

  33. Cazrtej说道:

    Привет, друзья!
    Мы готовы предложить документы техникумов, расположенных в любом регионе РФ. Можно заказать качественный диплом за любой год, указав подходящую специальность и хорошие оценки за все дисциплины. Документы печатаются на бумаге высшего качества. Это позволяет делать настоящие дипломы, не отличимые от оригинала. Они будут заверены необходимыми печатями и подписями.
    ifgieobny.sharebyblog.com/28173723/%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%83%D0%B4%D0%B5%D1%82-%D0%BD%D0%B5%D0%B4%D0%BE%D1%80%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%B8%D0%BE%D0%B1%D1%80%D0%B5%D1%81%D1%82%D0%B8-%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

  34. Sazrblk说道:

    Привет!
    Как получить диплом техникума официально и без лишних проблем
    dyado.listbb.ru/viewtopic.php?f=2&t=455
    Рады оказаться полезными!

  35. Diplomi_zgol说道:

    Добрый день!
    Купить документ университета вы сможете в нашем сервисе.
    ast-diplomas.com/kupit-diplom-nizhnij-novgorod

  36. Dnrtldi说道:

    Добрый день!
    Приобрести документ о получении высшего образования можно в нашей компании в Москве.
    ast-diplom24.ru/otzyvy
    Хорошей учебы!

  37. Jamesjer说道:

    can i order generic clomid online: order clomid pills – how to get clomid without rx

  38. Dnrtqru说道:

    [u][b] Здравствуйте![/b][/u]
    [b]Приобрести документ[/b] о получении высшего образования вы можете в нашей компании.
    [url=http://ast-diplomas24.ru/kupit-diplom-voronezh/]ast-diplomas24.ru/kupit-diplom-voronezh[/url]
    [b]Успешной учебы![/b]

  39. Xazrdfh说道:

    Привет, друзья!
    Быстрая покупка диплома старого образца: возможные риски
    arusak-diploms-srednee.ru/svidetelstvo-o-brake  

  40. 토토 365
    이 장의 쓰기는 피곤하고 느립니다. 월간 패스를 요청하십시오.

  41. Lazrwbb说道:

    [u][b] Привет![/b][/u]
    [b]Мы готовы предложить дипломы[/b] любых профессий по разумным ценам.
    [url=http://newsbig2.almoheet-travel.com/gramotno-pokupaem-diplom-v-seti-internet-avtorskij-obzor//]newsbig2.almoheet-travel.com/gramotno-pokupaem-diplom-v-seti-internet-avtorskij-obzor/[/url]

  42. ThomasInace说道:

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

  43. Jamesjer说道:

    order clomid without dr prescription: buying clomid tablets – can i buy cheap clomid price

  44. 5 라이온스 메가웨이즈
    “…” Zhu Houzhao는 “어쨌든 아들이 없습니다.”

  45. Sazragt说道:

    Привет!
    Официальная покупка диплома вуза с сокращенной программой в Москве
    fremontrp.listbb.ru/viewtopic.php?f=18&t=432
    Рады помочь!

  46. Jamesjer说道:

    where to get generic clomid pills: cost of generic clomid pills – order generic clomid pill

发表回复

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