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

/ 44,280评论 / 217529阅读 / 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. Danrgkg说道:

    Привет!
    Мы изготавливаем дипломы психологов, юристов, экономистов и других профессий.
    woaibanli.com/диплом-купить-ветеринария
    Рады оказаться полезными!.

  2. Diplomi_udol说道:

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

  3. Diplomi_gjol说道:

    Привет, друзья!
    Купить документ ВУЗа можно у нас в столице.
    asxdiplomik.com/kupit-diplom-o-vysshem-obrazovanii

  4. Diplomi_qaol说道:

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

  5. Waynetar说道:

    medicine in mexico pharmacies: best online pharmacies in mexico – buying prescription drugs in mexico

  6. DominicHOr说道:

    reputable mexican pharmacies online: medication from mexico pharmacy – mexico drug stores pharmacies

  7. Waynetar说道:

    mexico drug stores pharmacies: buying from online mexican pharmacy – mexican border pharmacies shipping to usa

  8. Arnoldscava说道:

    mexico pharmacy buying from online mexican pharmacy mexican border pharmacies shipping to usa

  9. Dnrtzfi说道:

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

  10. NelsonSaIlk说道:

    mexican border pharmacies shipping to usa: medication from mexico pharmacy – medicine in mexico pharmacies

  11. Arnoldscava说道:

    mexico pharmacies prescription drugs mexico drug stores pharmacies medicine in mexico pharmacies

  12. GregoryEduby说道:

    Find out how Olivier Giroud https://los-angelesfc.olivier-giroud.net went from young talent in France to star of MLS, from Grenoble to Los Angeles FC.

  13. AubreyWoolo说道:

    Discover Thierry Henry’s https://arsenal.thierry-henry-fr.com journey at Arsenal, from his early years to his legendary status, his later struggles and his farewell to the club.

  14. CharlesDix说道:

    Find out how Eric Cantona https://manchester-united.eric-cantona.com became a Manchester United legend, his influence on the club, his career, his scandals and his unique style of play.

  15. Xazrzci说道:

    Привет!
    Узнайте стоимость диплома высшего и среднего образования и процесс получения
    arusak-diploms-srednee.ru/kupit-diplom-v-nizhnem-novgorode

  16. Manrehb说道:

    Добрый день!
    Купить документ ВУЗа
    ast-diplomy24.ru/kupit-diplom-rostov-na-donu

  17. Lazrozl说道:

    Здравствуйте!
    Приобрести диплом любого ВУЗа.
    ingprint.ru/club/user/58725/forum/message/6909/203474

  18. Trefddd说道:

    Здравствуйте!
    Быстрое обучение и получение диплома магистра – возможно ли это?
    ayurastroyoga.com/настоящий-диплом-как-и-где-купить
    Поможем вам всегда!.

  19. eye glasses are not only stylish but they can also protect your eyes from contaminants”

  20. NelsonSaIlk说道:

    pharmacies in mexico that ship to usa: medication from mexico pharmacy – mexico pharmacies prescription drugs

  21. NelsonSaIlk说道:

    buying prescription drugs in mexico: buying prescription drugs in mexico – purple pharmacy mexico price list

  22. Arnoldscava说道:

    mexican drugstore online п»їbest mexican online pharmacies reputable mexican pharmacies online

  23. Lazrwiy说道:

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

  24. Lazrlig说道:

    Добрый день!
    Мы готовы предложить дипломы любой профессии по приятным тарифам.
    gamemotors.ru/nastoyashhie-diplomyi-dostupno-i-bezopasno

  25. DominicHOr说道:

    п»їbest mexican online pharmacies: buying prescription drugs in mexico – medicine in mexico pharmacies

  26. Dnrtdrk说道:

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

  27. Waynetar说道:

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

  28. DominicHOr说道:

    mexico pharmacies prescription drugs: buying prescription drugs in mexico online – medication from mexico pharmacy

  29. Arnoldscava说道:

    mexican pharmacy reputable mexican pharmacies online mexican pharmaceuticals online

  30. Arnoldscava说道:

    mexican border pharmacies shipping to usa buying prescription drugs in mexico online buying from online mexican pharmacy

  31. NelsonSaIlk说道:

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

  32. Mazruya说道:

    Здравствуйте!
    Быстрое обучение и получение диплома магистра – возможно ли это?
    mans-diploms.ru

  33. BomesMix说道:

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

  34. NelsonSaIlk说道:

    reputable mexican pharmacies online: mexican mail order pharmacies – mexican drugstore online

  35. Percyagene说道:

    AI Nude Generator https://ainudegenerator.app Transform Photos with AI Nude App.

  36. Diplomi_fgol说道:

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

  37. RichardMonge说道:

    https://mexicandeliverypharma.online/# mexican border pharmacies shipping to usa

  38. Arnoldscava说道:

    reputable mexican pharmacies online [url=https://mexicandeliverypharma.com/#]best online pharmacies in mexico[/url] pharmacies in mexico that ship to usa

  39. Arnoldscava说道:

    medication from mexico pharmacy reputable mexican pharmacies online pharmacies in mexico that ship to usa

  40. Arnoldscava说道:

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

  41. DominicHOr说道:

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

  42. Arnoldscava说道:

    mexican online pharmacies prescription drugs mexico pharmacy mexico pharmacy

  43. BomesMix说道:

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

  44. Trefrnw说道:

    Привет!
    Купить диплом старого образца, можно ли это сделать по быстрой схеме?
    remotebillpay.com/купить-диплом-о-высшем-образовании-ре
    Поможем вам всегда!.

  45. Dnrtjjw说道:

    Привет, друзья!
    Заказать документ о получении высшего образования вы имеете возможность в нашей компании в Москве.
    asxdiplomik24.ru/kupit-diplom-omsk
    Успешной учебы!

  46. NelsonSaIlk说道:

    purple pharmacy mexico price list: п»їbest mexican online pharmacies – mexican border pharmacies shipping to usa

  47. Waynetar说道:

    medicine in mexico pharmacies: mexican rx online – best online pharmacies in mexico

发表回复

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