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

/ 44,266评论 / 217435阅读 / 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. Diplomi_vgst说道:

    купить диплом пту в кемерово diploms-x.com .

  2. Uazrutb说道:

    Привет!
    Где заказать диплом по актуальной специальности?
    mail.vinpr.org/obshestvo/6459-attestat-ob-okonchanii-sredney-shkoly-poluchaem.html

  3. Dnrttyn说道:

    Здравствуйте!
    Приобрести документ университета вы сможете в нашей компании.
    diplomyx24.ru/kupit-diplom-vracha
    Удачи!

  4. ThomasInace说道:

    https://doxycyclinedelivery.pro/# doxycycline without a prescription

  5. ThomasInace说道:

    https://doxycyclinedelivery.pro/# where can i buy doxycycline

  6. Xazrhhm说道:

    Привет!
    Как не стать жертвой мошенников при покупке диплома о среднем полном образовании
    arusak-diploms-srednee.ru/kupit-attestat-za-11-klass В 

  7. ThomasInace说道:

    https://ciprodelivery.pro/# buy cipro online without prescription

  8. ThomasInace说道:

    http://amoxildelivery.pro/# where can i get amoxicillin 500 mg

  9. Lazrzim说道:

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

  10. Lazrykq说道:

    Здравствуйте!
    Приобрести диплом о высшем образовании.
    true.pahom.su/2024/07/04/kak-nayti-nadezhnyy-magazin-s-obshirnym-vyborom-diplomov.html

  11. ThomasInace说道:

    https://amoxildelivery.pro/# price for amoxicillin 875 mg

  12. Lazrufv说道:

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

  13. Sazrjvg说道:

    Привет, друзья!
    Как официально приобрести аттестат 11 класса с минимальными затратами времени
    forum-divorcedmoms.azurewebsites.net/posts/m24215-Bystroe-poluchenie-diploma–vash-shans-na-uspekh#post24215
    Окажем помощь!

  14. BomesMix说道:

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

  15. Jamesjer说道:

    amoxicillin 500mg price: amoxicillin 500 tablet – buy amoxicillin online no prescription

  16. ThomasInace说道:

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

  17. ThomasInace说道:

    https://paxloviddelivery.pro/# paxlovid generic

  18. Dnrtfhx说道:

    Здравствуйте!
    Заказать документ университета можно в нашем сервисе.
    ast-diplom24.ru/kupit-diplom-rostov-na-donu
    Хорошей учебы!

  19. If you want to increase your experience simply keep visiting this web page and be updated with the most up-to-date gossip posted here.

    My blog post How Long Does Mounjaro Stay In Your System?

  20. Cazrjez说道:

    Привет!
    Мы предлагаем документы ВУЗов, которые находятся на территории всей России. Вы сможете приобрести диплом от любого учебного заведения, за любой год, указав необходимую специальность и хорошие оценки за все дисциплины. Документы выпускаются на бумаге высшего качества. Это дает возможность делать настоящие дипломы, которые не отличить от оригинала. Документы заверяются необходимыми печатями и штампами.
    bombosait.ru/gallery/image/124-%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5-%D1%86%D0%B5%D0%BD%D1%8B-%D0%B8-%D0%B2%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%B5-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD/

  21. Trefqat说道:

    Привет!
    Диплом вуза купить официально с упрощенным обучением в Москве
    a-bcd.ru/news/201718/
    Поможем вам всегда!.

  22. Xazrsns说道:

    Добрый день!
    Купить диплом магистра оказалось возможно, быстрое обучение и диплом на руки
    landik-diploms-srednee.ru/kupit-diplom-v-novosibirske В 

  23. Xazrsex说道:

    Добрый день!
    Как правильно приобрести диплом колледжа или ПТУ в России, важные моменты
    arusak-diploms-srednee.ru/kupit-diplom-v-krasnoiarske

  24. Yrefzrr说道:

    Привет, друзья!
    Приобрести диплом любого университета.
    kofe.80lvl.ru/viewtopic.php?f=10&t=728
    Удачи!

  25. Yrefdwv说道:

    Привет, друзья!
    Заказать диплом любого университета.
    fire-team.ru/forum/member.php?u=1143
    Хорошей учебы!

  26. Dnrtvnv说道:

    Привет, друзья!
    Купить документ о получении высшего образования можно в нашей компании в столице.
    diplomasx.com/kupit-diplom-vracha
    Успешной учебы!

  27. Jamesjer说道:

    amoxicillin 500mg price: order amoxicillin online no prescription – amoxicillin 500 mg where to buy

  28. Robertimica说道:

    In recent years, the leading positions in the Spanish https://spanish-championship.laliga-ar.com championship have been firmly occupied by two major giants – Barcelona and Real Madrid.

  29. Dnrtlnx说道:

    Добрый день!
    Купить документ института вы имеете возможность у нас в Москве.
    diplomyx24.ru/kupit-diplom-sankt-peterburg
    Успехов в учебе!

  30. BrettJeaby说道:

    In the German football https://german-championship.bundesliga-football-ar.com championship known as the Bundesliga, rivalries between clubs have always been intense.

  31. Manrwci说道:

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

  32. Yrefyxi说道:

    Здравствуйте!
    Купить диплом о высшем образовании.
    library.kemu.ac.ke/kemuwiki/index.php/??????_?????_???_???????_????????
    Успехов в учебе!

  33. Davidburce说道:

    The Italian football championship https://italian-championship.serie-a-ar.com known as Serie A, has seen an impressive revival in recent years.

  34. Lazrjkr说道:

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

  35. Jamesjer说道:

    amoxicillin 500mg prescription: buy amoxicillin online cheap – amoxicillin brand name

  36. Manrrzi说道:

    Привет, друзья!
    Купить документ ВУЗа
    ast-diplomas24.ru/kupit-diplom-krasnoyarsk

  37. Sazrpuy说道:

    Здравствуйте!
    Диплом ВУЗа купить официально с упрощенным обучением в Москве
    asepbook.com/read-blog/4002
    Рады оказать помощь!

  38. DonaldRak说道:

    The road to the Premier League https://english-championship.premier-league-ar.com begins long before a team gets promoted to the English Premier League for the first time

  39. Manrekp说道:

    Привет, друзья!
    Заказать документ ВУЗа
    ast-diplomas24.ru/kupit-diplom-krasnoyarsk

  40. Georgeres说道:

    The golf https://arabic.golfclub-ar.com industry in the Arab world is growing rapidly, attracting players from all over the world.

  41. ThomasInace说道:

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

  42. Jamesjer说道:

    paxlovid price: paxlovid pill – paxlovid for sale

  43. iptv说道:

    I blog quite often and I genuinely appreciate your information. Your article has really peaked my interest. I am going to book mark your website and keep checking for new details about once per week. I opted in for your Feed too.

  44. Cazrbtq说道:

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

  45. Cazrfka说道:

    Привет!
    Мы готовы предложить документы ВУЗов, расположенных на территории всей Российской Федерации. Вы можете заказать качественный диплом за любой год, указав актуальную специальность и оценки за все дисциплины. Документы выпускаются на “правильной” бумаге самого высокого качества. Это позволяет делать государственные дипломы, не отличимые от оригиналов. Документы заверяются необходимыми печатями и штампами.
    kingasteroid.com/blogs/285/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%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

  46. ラブドール・リアルドールは日本人がラブドール エロ運営するショップで購入することを強くおすすめします。

发表回复

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