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

/ 44,284评论 / 217569阅读 / 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. BomesMix说道:

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

  2. Dnrttfk说道:

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

  3. ThomasInace说道:

    https://ciprodelivery.pro/# ciprofloxacin generic price

  4. Diplomi_dnst说道:

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

  5. Lazrwre说道:

    Привет, друзья!
    Заказать диплом о высшем образовании.
    igpsclub.ru/social/read-blog/5452

  6. Cazrlsf说道:

    Привет, друзья!
    Мы предлагаем документы техникумов, которые расположены в любом регионе РФ. Можно приобрести диплом от любого учебного заведения, за любой год, указав необходимую специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты выпускаются на бумаге высшего качества. Это дает возможности делать настоящие дипломы, которые не отличить от оригиналов. Документы заверяются необходимыми печатями и штампами.
    http://www.theclubtv.xyz/index.php?/gallery/image/118-%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%BB%D1%83%D1%87%D1%88%D0%B5%D0%BC-%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-%D0%BF%D0%BE-%D0%BA%D0%BE%D0%BC%D1%84%D0%BE%D1%80%D1%82%D0%BD%D0%BE%D0%B9-%D1%86%D0%B5%D0%BD%D0%B5/

  7. Cazrtmy说道:

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

  8. Cazrylk说道:

    Привет!
    Мы можем предложить документы техникумов, расположенных на территории всей Российской Федерации. Вы можете купить качественный диплом за любой год, указав подходящую специальность и оценки за все дисциплины. Дипломы и аттестаты выпускаются на “правильной” бумаге высшего качества. Это дает возможности делать настоящие дипломы, не отличимые от оригиналов. Документы заверяются необходимыми печатями и подписями.
    indicouple.com/blogs/1132/%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%B1%D1%8B%D1%81%D1%82%D1%80%D0%BE-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C-%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%82-%D0%B2-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5

  9. Yrefaer说道:

    Привет!
    Приобрести диплом любого университета.
    stylist-profi.ru/forum/user/199412/
    Хорошей учебы!

  10. Jamesjer说道:

    paxlovid price: paxlovid pharmacy – paxlovid covid

  11. Eanrqyc说道:

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

  12. Danrhhx说道:

    Здравствуйте!
    Мы изготавливаем дипломы любой профессии.
    mykinotime.ru/kupit-diplom-bez-posrednikov-byistro-i-nadezhno/
    Всегда вам поможем!.

  13. Danroli说道:

    Добрый день!
    Мы изготавливаем дипломы любой профессии.
    http://www.zainduz.eus/eu/купила-диплом-а-он-скачан/
    Окажем помощь!.

  14. Danrgvo说道:

    Привет!
    Мы изготавливаем дипломы любой профессии.
    toplentanews.ru/nastoyashhie-diplomyi-legalno-i-konfidentsialno
    Окажем помощь!.

  15. Sazrpja说道:

    Привет!
    Узнайте стоимость диплома высшего и среднего образования и процесс получения
    true.pahom.su/2024/07/11/oformlenie-diploma-za-korotkiy-srok-bystro-i-nadezhno.html
    Рады оказаться полезными!

  16. Mazrunh说道:

    Привет, друзья!
    Полезные советы по покупке диплома о высшем образовании без риска
    andreandrose.co.uk/2024/06/30/купить-диплом-в-артеме/

  17. Diplomi_znol说道:

    Здравствуйте!
    Купить документ о получении высшего образования можно в нашем сервисе.
    diploms-x.com/kupit-diplom-chelyabinsk 

  18. Jamesjer说道:

    amoxicillin script: amoxicillin 875 125 mg tab – purchase amoxicillin online without prescription

  19. BomesMix说道:

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

  20. I really like what you guys are up too. Such clever work and exposure!
    Keep up the amazing works guys I’ve included you guys to our blogroll.

  21. Diplomi_eqst说道:

    купить бланк диплома о высшем образовании ссср diploms-x.com .

  22. Diplomi_lkst说道:

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

  23. Dnrtqbm说道:

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

  24. Diplomi_ndst说道:

    где купить диплом об высшем образовании в омске где купить диплом об высшем образовании в омске .

  25. ThomasInace说道:

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

  26. Dnrtfdz说道:

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

  27. Jamesjer说道:

    can you get generic clomid tablets: can i get cheap clomid tablets – get generic clomid no prescription

  28. Xazrcix说道:

    Добрый день!
    Полезные советы по безопасной покупке диплома о высшем образовании
    landik-diploms-srednee.ru/diplom-bakalavra В 

  29. Lazrfoo说道:

    Привет, друзья!
    Купить диплом о высшем образовании.
    xn--80aeahbdc6cr3b7h.xn--p1ai/club/user/8729/blog/193084/

  30. BomesMix说道:

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

  31. ThomasInace说道:

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

  32. Cazrgmc说道:

    Здравствуйте!
    Мы можем предложить документы техникумов, расположенных на территории всей Российской Федерации. Вы сможете купить качественный диплом за любой год, включая сюда документы старого образца СССР. Дипломы и аттестаты печатаются на “правильной” бумаге самого высшего качества. Это дает возможности делать государственные дипломы, не отличимые от оригиналов. Документы заверяются всеми необходимыми печатями и штампами.
    itach-soft.com/club/user/6/blog/1006/

  33. Lazrstn说道:

    Привет, друзья!
    Где приобрести диплом по актуальной специальности?
    Купить диплом любого университета.
    newsbizlife.ru/garantiya-kachestva-vash-diplom-na-zakaz

  34. Manrysw说道:

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

  35. Lazrmnw说道:

    Привет!
    Мы можем предложить дипломы любой профессии по невысоким тарифам.
    http://www.pluto.media/купить-диплом-в-артеме/

  36. Sazrjkl说道:

    Здравствуйте!
    Покупка диплома о среднем полном образовании: как избежать мошенничества?
    formfinance.ru/legkiy-sposob-poluchit-diplom-lyuboy-professii
    Будем рады вам помочь!

  37. Eanrqbr说道:

    Здравствуйте!
    Мы можем предложить дипломы психологов, юристов, экономистов и прочих профессий по приятным тарифам.
    social.ghame.org/read-blog/6793_proverennyj-i-nadezhnyj-magazin-s-bolshim-assortimentom-diplomov.html

  38. Diplomi_uyol说道:

    Здравствуйте!
    Заказать документ института вы можете в нашем сервисе.
    diploms-x.com/kupit-diplom-s-registraciej 

  39. Jamesjer说道:

    ciprofloxacin order online: cipro – buy cipro online

  40. Wow, awesome blog layout! How long have you been blogging for?

    you made blogging look easy. The overall look of your
    web site is wonderful, let alone the content!

  41. Diplomi_shol说道:

    Добрый день!
    Приобрести документ института можно у нас в Москве.
    diplomyx.com/kupit-diplom-krasnodar 

  42. ThomasInace说道:

    http://amoxildelivery.pro/# amoxacillian without a percription

  43. Qazriet说道:

    Привет, друзья!
    Официальная покупка диплома вуза с сокращенной программой в Москве.
    Заказать диплом университета.
    ambaland.com/blogs/3439/%D0%A1-%D0%BB%D0%B5%D0%B3%D0%BA%D0%BE%D1%81%D1%82%D1%8C%D1%8E-%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%BB%D1%83%D1%87%D1%88%D0%B5%D0%BC-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-Russian-Diplom

  44. Sazrtrq说道:

    Привет!
    Вопросы и ответы: можно ли быстро купить диплом старого образца?
    financetimenews.ru/byistroe-oformlenie-diploma-lyuboy-spetsialnosti
    Рады помочь!

  45. Sazrleq说道:

    Здравствуйте!
    Вопросы и ответы: можно ли быстро купить диплом старого образца?
    toursoul.ru/?p=19214
    Рады оказаться полезными!

  46. Sazrmuh说道:

    Добрый день!
    Реально ли приобрести диплом стоматолога? Основные шаги
    newnormalnetwork.me/create-blog
    Окажем помощь!

  47. Excellent article. I absolutely appreciate this site. Keep it up!

发表回复

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