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

/ 52,199评论 / 256901阅读 / 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. Lazrmyk说道:

    Добрый день!
    Где заказать диплом специалиста?
    Приобрести диплом о высшем образовании.
    demo.1c-college.ru/club/user/7/blog/kak-podobrat-nadezhnyy-onlayn-magazin-s-shirokim-vyborom-diplomov/

  2. Dnrtpfl说道:

    Привет!
    Купить документ института вы имеете возможность в нашей компании в Москве.
    ast-diplom.com/kupit-diplom-o-srednem-obrazovanii
    Успехов в учебе!

  3. Michaelpiepe说道:

    mexico pharmacy: buying prescription drugs in mexico online – mexican pharmacy

  4. Charlestaf说道:

    mexican mail order pharmacies buying prescription drugs in mexico mexican pharmacy

  5. BomesMix说道:

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

  6. Michaelpiepe说道:

    mail order pharmacy india: reputable indian online pharmacy – india online pharmacy

  7. DavidWaype说道:

    medicine in mexico pharmacies: purple pharmacy mexico price list – mexico pharmacies prescription drugs

  8. Lazrnct说道:

    Добрый день!
    Мы предлагаем дипломы любой профессии по невысоким тарифам.
    dervislergrup.com/events/event/13-4-klyucevyx-gruppy-internet-magazinov-realizuyushhix-diplomy/

  9. Diplomi_iqol说道:

    Здравствуйте!
    Заказать документ университета вы имеете возможность в нашем сервисе.
    ast-diploms24.ru/kupit-diplom-krasnoyarsk

  10. Trefmoo说道:

    Привет, друзья!
    Пошаговая инструкция по официальной покупке диплома о высшем образовании
    oren.kabb.ru/viewtopic.php?f=19&t=33200&p=50454#p50454
    Поможем вам всегда!.

  11. Trefnsu说道:

    Привет!
    Вопросы и ответы: можно ли быстро купить диплом старого образца?
    http://www.podzemie.6f.sk/profile.php?lookup=17613
    Рады помочь!.

  12. EdwardKib说道:

    https://foruspharma.com/# mexican pharmaceuticals online

  13. Trefnuo说道:

    Привет, друзья!
    Как безопасно купить диплом колледжа или ПТУ в России, что важно знать
    obruchalka-vrn.ru/index.php?subaction=userinfo&user=ugobepa
    Поможем вам всегда!.

  14. DavidWaype说道:

    india online pharmacy: india pharmacy – indian pharmacy

  15. Qazrwpn说道:

    Привет!
    Полезная информация как купить диплом о высшем образовании без рисков.
    Купить диплом о высшем образовании.
    balacixynu.trexgame.net/bystro-pokupaem-attestat-v-lucsem-internet-magazine-russian-diplom

  16. Diplomi_puel说道:

    купить диплом березники diplomasx.com .

  17. Diplomi_yqel说道:

    диплом стандарт фгос спо купить diplomasx.com .

  18. Michaelpiepe说道:

    п»їbest mexican online pharmacies: purple pharmacy mexico price list – mexican rx online

  19. Yrefqiz说道:

    Здравствуйте!
    Заказать диплом ВУЗа.
    industrial.getbb.ru/viewtopic.php?f=4&t=3030
    Удачи!

  20. Tazrfsq说道:

    Привет, друзья!
    Заказать диплом любого университета
    Мы готовы предложить документы техникумов, расположенных в любом регионе Российской Федерации. Вы можете купить диплом за любой год, включая документы старого образца СССР. Документы делаются на “правильной” бумаге самого высшего качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригиналов. Документы будут заверены всеми требуемыми печатями и штампами.
    http://www.marqueze.net/miembros/matthewmorgan/profile/classic/
    Поможем вам всегда!.

  21. Cazrfds说道:

    Добрый день!
    Мы можем предложить документы ВУЗов, которые расположены в любом регионе РФ. Можно приобрести качественно сделанный диплом от любого учебного заведения, за любой год, указав актуальную специальность и оценки за все дисциплины. Дипломы и аттестаты делаются на бумаге самого высокого качества. Это дает возможности делать государственные дипломы, не отличимые от оригинала. Документы заверяются всеми обязательными печатями и штампами.
    darkgate.pl/events/event/26-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%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-%D0%BF%D0%BE-%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D0%BD%D0%BE%D0%B9-%D1%86%D0%B5%D0%BD%D0%B5/

  22. Lazrycw说道:

    Здравствуйте!
    Мы изготавливаем дипломы любой профессии по приятным ценам.
    medik-look.ru/diplomyi-vyisshego-obrazovaniya-s-garantiey

  23. Diplomi_hjel说道:

    купить диплом в томске купить диплом в томске .

  24. Sazryte说道:

    Привет, друзья!
    Можно ли быстро купить диплом старого образца и в чем подвох?
    cv53297-livestreet-1.tw1.ru/2024/07/11/oficialnyy-diplom-bez-lishnih-voprosov.html
    Рады помочь!.

  25. Uazrjoa说道:

    Здравствуйте!
    Где купить диплом специалиста?
    vv.flybb.ru/viewtopic.php?f=23&t=2245&sid=9647d00e6fb5c37ea76a5b4d02fd4808
    Удачи!

  26. Diplomi_memn说道:

    купить дипломы вуза ast-diploms.com .

  27. Diplomi_ylmn说道:

    купить диплом рудн ast-diploms.com .

  28. Dnrtpqn说道:

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

  29. Diplomi_xymn说道:

    дипломы купить ast-diploms.com .

  30. BomesMix说道:

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

  31. DavidWaype说道:

    canadian compounding pharmacy: canadian pharmacy oxycodone – canadian pharmacy world

  32. EdwardKib说道:

    http://indiapharmast.com/# indian pharmacy paypal

  33. Michaelpiepe说道:

    mexican border pharmacies shipping to usa: mexican border pharmacies shipping to usa – mexico drug stores pharmacies

  34. Xazrfsd说道:

    Привет!
    Приобрести диплом о высшем образовании
    landik-diploms-srednee.ru/attestat-shkoly В 
    Удачи!

  35. Lazrovu说道:

    Здравствуйте!
    Где заказать диплом по необходимой специальности?
    Заказать диплом университета.
    k96586v0.beget.tech/component/comprofiler/pluginclass/cbblogs.html?action=blogs&func=show&id=140

  36. DavidWaype说道:

    canada pharmacy 24h: canadian pharmacy meds reviews – canadian drugs

  37. DavidWaype说道:

    mexico pharmacies prescription drugs: mexican drugstore online – medicine in mexico pharmacies

  38. DavidWaype说道:

    buying from online mexican pharmacy: reputable mexican pharmacies online – mexican pharmaceuticals online

  39. DavidWaype说道:

    top 10 online pharmacy in india: mail order pharmacy india – indian pharmacy online

  40. Lazrwfb说道:

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

  41. Lazryfx说道:

    Здравствуйте!
    Где приобрести диплом по актуальной специальности?
    Приобрести диплом любого университета.
    rusere.ru/communication/forum/messages/forum11/message3680/2967-kak-podobrat-nadezhnyy-magazin-s-bolshim-katalogom-diplomov?result=new

  42. Cazraxk说道:

    Здравствуйте!
    Мы готовы предложить документы техникумов, расположенных на территории всей России. Можно купить качественный диплом за любой год, указав подходящую специальность и хорошие оценки за все дисциплины. Документы выпускаются на бумаге высшего качества. Это позволяет делать государственные дипломы, которые не отличить от оригиналов. Они будут заверены всеми требуемыми печатями и штампами.
    phileo.me/blogs/185406/%D0%9B%D0%B5%D0%B3%D0%BA%D0%BE-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%B2-%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

  43. BomesMix说道:

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

  44. This is a must-read for anyone interested in…검색엔진최적화 마케팅

  45. Cazrols说道:

    Добрый день!
    Мы предлагаем документы техникумов, которые расположены на территории всей Российской Федерации. Вы имеете возможность приобрести диплом от любого учебного заведения, за любой год, указав необходимую специальность и оценки за все дисциплины. Дипломы и аттестаты выпускаются на бумаге высшего качества. Это позволяет делать настоящие дипломы, не отличимые от оригиналов. Они заверяются всеми обязательными печатями и штампами.
    tonythang.dev/blogs/95/%D0%9A%D0%B0%D0%BA-%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D0%BD%D0%B5%D0%B4%D0%BE%D1%80%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%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

  46. DavidWaype说道:

    mexico drug stores pharmacies: purple pharmacy mexico price list – mexico pharmacies prescription drugs

  47. DavidWaype说道:

    canada discount pharmacy: canadian pharmacy 24 – best canadian online pharmacy

发表回复

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