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

/ 44,319评论 / 217879阅读 / 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. Mazrjna说道:

    Привет, друзья!
    Как получить диплом техникума официально и без лишних проблем
    diploms-man.ru

  2. NelsonSaIlk说道:

    medicine in mexico pharmacies: mexican border pharmacies shipping to usa – purple pharmacy mexico price list

  3. Waynetar说道:

    reputable mexican pharmacies online: buying prescription drugs in mexico online – mexico drug stores pharmacies

  4. DominicHOr说道:

    purple pharmacy mexico price list: mexican mail order pharmacies – medication from mexico pharmacy

  5. NelsonSaIlk说道:

    medicine in mexico pharmacies: mexico drug stores pharmacies – medicine in mexico pharmacies

  6. Billyobege说道:

    The gripping story of Stephen Curry’s https://golden-state-warriors.stephencurry-fr.com difficult journey to becoming an NBA superstar and the leader of the undefeated Golden State Warriors dynasty.

  7. Waynetar说道:

    medication from mexico pharmacy: buying prescription drugs in mexico online – mexican rx online

  8. Waynetar说道:

    pharmacies in mexico that ship to usa: buying prescription drugs in mexico online – reputable mexican pharmacies online

  9. Barrydut说道:

    Apple iPhone 14 купить в Москве, низкие цены на оригинал новый: Iphone Ivus — интернет-магазин оригинальных смартфонов Apple iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max.

  10. DominicHOr说道:

    mexican pharmaceuticals online: п»їbest mexican online pharmacies – mexico pharmacies prescription drugs

  11. Warrenmor说道:

    Натяжные потолки https://stroydim.co.ua под ключ. Гипоаллергенные, без запаха. Бесплатный замер и визуализация дизайна. Натяжные потолки – всегда выгодные предложения, привлекательные цены

  12. DominicHOr说道:

    mexican mail order pharmacies: mexican rx online – buying from online mexican pharmacy

  13. Lazrzsv说道:

    Привет!
    Приобрести диплом о высшем образовании.
    logan.in.ua/people/user/7276/blog/7929

  14. Waynetar说道:

    best online pharmacies in mexico: п»їbest mexican online pharmacies – pharmacies in mexico that ship to usa

  15. Uazrfhe说道:

    Привет!
    Купить диплом о высшем образовании.
    c90226sl.beget.tech/2024/07/09/kupit-diplom-opyt-i-professionalizm/

  16. Uazrlwn说道:

    Привет!
    Купить диплом о высшем образовании.
    bezmotora72.ru/club/user/13/blog/7704/

  17. DominicHOr说道:

    mexican rx online: mexico pharmacies prescription drugs – reputable mexican pharmacies online

  18. Treftml说道:

    Добрый день!
    Полезная информация как купить диплом о высшем образовании без рисков
    property25.org/где-купить-диплом-о-высшем-образовани
    Будем рады вам помочь!.

  19. Uazromd说道:

    Привет, друзья!
    Купить диплом ВУЗа.
    woorichat.com/read-blog/829

  20. Waynetar说道:

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

  21. Danrgzf说道:

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

  22. NelsonSaIlk说道:

    best online pharmacies in mexico: п»їbest mexican online pharmacies – best online pharmacies in mexico

  23. Arnoldscava说道:

    mexican online pharmacies prescription drugs mexico drug stores pharmacies mexican border pharmacies shipping to usa

  24. Mazrbca说道:

    Привет!
    Заказать документ о получении высшего образования можно у нас в столице. Мы предлагаем документы об окончании любых университетов Российской Федерации. Вы сможете получить диплом по любым специальностям, любого года выпуска, в том числе документы образца СССР. Даем 100% гарантию, что в случае проверки документов работодателями, подозрений не появится.
    Мы можем предложить дипломы психологов, юристов, экономистов и любых других профессий по приятным ценам. Стоимость будет зависеть от выбранной специальности, года выпуска и образовательного учреждения. Всегда стараемся поддерживать для покупателей адекватную политику цен. Для нас важно, чтобы документы были доступными для подавляющей массы наших граждан.
    watucowalu.cavandoragh.org/rassirennoe-opisanie-priobretenia-diploma-v-internet-magazine
    Рады помочь!

  25. NelsonSaIlk说道:

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

  26. NelsonSaIlk说道:

    mexican mail order pharmacies: mexico pharmacies prescription drugs – medicine in mexico pharmacies

  27. sto_dvel说道:

    Откройте для себя Оболонь: сердце Киева, погрузитесь.
    Где найти лучшие кафе на Оболони?, интересные.
    Оболонь: идеальное место для жизни, с его особенностями.
    Что делать на Оболони в выходные?, узнайте.
    Набережная Оболони: лучшие места для отдыха, прогулки на велосипеде.
    Оболонь с детьми: идеи для досуга, узнайте.
    Культура Оболони: что узнать?, интересные факты.
    Ночная жизнь на Оболони: какие клубы посетить?, познакомьтесь.
    Оболонь: лучшие парки и скверы, природой.
    Оболонь: увлекательная история района, откройте.
    Оболонь в цифрах: интересные факты, узнайте.
    Оболонь: символы и образы района, обсудите.
    Гастрономическое путешествие по Оболони, вкусы.
    Развлечения для подростков на Оболони, откройте.
    Что делать на Оболони летом?, посетите.
    Как добраться до Оболони?, познакомьтесь.
    Путеводитель по Оболони: что стоит знать, к отдыху.
    Оболонь: от старинных улиц до современных зданий, узнайте.
    сто київ сто київ .

  28. Arnoldscava说道:

    reputable mexican pharmacies online buying prescription drugs in mexico online mexican online pharmacies prescription drugs

  29. Waynetar说道:

    mexican mail order pharmacies: п»їbest mexican online pharmacies – reputable mexican pharmacies online

  30. Lazrkak说道:

    Привет, друзья!
    Приобрести диплом о высшем образовании.
    flerus-shop.hcp.dilhost.ru/club/user/3/forum/message/861/857

  31. Waynetar说道:

    mexican pharmaceuticals online: mexico drug stores pharmacies – buying prescription drugs in mexico online

  32. Lazrzqq说道:

    Здравствуйте!
    Купить диплом о высшем образовании.
    bakinsky-dvorik.ru/club/user/127071/blog/4731

  33. DominicHOr说道:

    mexican mail order pharmacies: mexican rx online – mexican rx online

  34. NelsonSaIlk说道:

    medicine in mexico pharmacies: mexican border pharmacies shipping to usa – mexico pharmacies prescription drugs

  35. Arnoldscava说道:

    mexican pharmacy mexico drug stores pharmacies mexican drugstore online

  36. DominicHOr说道:

    mexican rx online: buying prescription drugs in mexico – mexico pharmacies prescription drugs

  37. Arnoldscava说道:

    buying from online mexican pharmacy mexican online pharmacies prescription drugs mexican rx online

  38. Dnrtowh说道:

    Привет, друзья!
    Купить документ института можно в нашем сервисе.
    diploms-x24.ru/kupit-diplom-omsk
    Успехов в учебе!

  39. Treflwo说道:

    Здравствуйте!
    Процесс получения диплома стоматолога: реально ли это сделать быстро?
    sex8.zone/home.php?mod=space&uid=9145316&do=profile
    Рады оказать помощь!.

  40. SidneyKeymn说道:

    The fascinating story of how legendary football player Lionel Messi https://inter-miam.lionelmessi-tr.com opened a new page in his MLS career by leading Inter Miami to the championship.

  41. Infatuation may be over in a flash or last for weeks and months.Feelings of love may emerge early on in the relationship or may take time to evolve.ラブドール エロ

  42. Lazrtww说道:

    Добрый день!
    Мы предлагаем дипломы психологов, юристов, экономистов и прочих профессий по выгодным тарифам.
    karhu.blueaddlution.com/2024/07/13/купить-диплом-моториста

  43. Mazrovs说道:

    Здравствуйте!
    Сколько стоит диплом высшего и среднего образования и как его получить?
    diplomyx-man.ru

  44. Uazrpjx说道:

    Добрый день!
    Где приобрести диплом специалиста?
    http://www.marqueze.net/miembros/billyoung/profile/classic/

  45. Arnoldscava说道:

    mexican online pharmacies prescription drugs [url=https://mexicandeliverypharma.online/#]mexico pharmacies prescription drugs[/url] mexican online pharmacies prescription drugs

发表回复

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