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

/ 44,280评论 / 217505阅读 / 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. Latest debates about sex dolls, sex robots, and personified sexual オナドールintercourse tech frame these products throughout the prospective for escalation and damage reduction

  2. ThomasInace说道:

    http://doxycyclinedelivery.pro/# doxycycline compare prices

  3. Qazrqao说道:

    Привет!
    Купить диплом магистра оказалось возможно, быстрое обучение и диплом на руки.
    Приобрести диплом университета.
    leicestercityfansclub.com/read-blog/2230

  4. ドール エロ说道:

    Missionary Place: Here is the all time えろ 人形most popular intercourse position for guys.

  5. ThomasInace说道:

    http://paxloviddelivery.pro/# paxlovid pharmacy

  6. Mazrjnz说道:

    Добрый день!
    Как получить диплом о среднем образовании в Москве и других городах
    http://www.bytovymagazin.cz/купить-диплом-в-дербенте/

  7. MyronEvown说道:

    http://paxloviddelivery.pro/# п»їpaxlovid
    how can i get cheap clomid price [url=http://clomiddelivery.pro/#]how to get generic clomid without a prescription[/url] where buy generic clomid online

  8. Lazrjqs说道:

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

  9. Dnrtpfi说道:

    Добрый день!
    Заказать документ ВУЗа вы имеете возможность у нас в Москве.
    asxdiplomik24.ru/kupit-diplom-ekaterinbur
    Успешной учебы!

  10. Sazrfnj说道:

    Здравствуйте!
    Диплом техникума купить официально с упрощенным обучением в Москве
    http://www.psorum.ru/member.php?u=4348
    Рады помочь!

  11. Lariorgtl说道:

    Как приобрести аттестат о среднем образовании в Москве и других городах
    diploms-x.com/kupit-diplom-magistra

  12. Lariorbfj说道:

    Официальная покупка школьного аттестата с упрощенным обучением в Москве
    ast-diplom.com/kupit-diplom-voronezh

  13. Lariorifb说道:

    Узнайте, как безопасно купить диплом о высшем образовании
    diplomyx.com/otzyvy

  14. BomesMix说道:

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

  15. Hi there Dear, are you really visiting this site daily,
    if so afterward you will without doubt take pleasant know-how.

  16. Cazrnuu说道:

    Здравствуйте!
    Мы предлагаем документы ВУЗов, расположенных в любом регионе Российской Федерации. Вы имеете возможность купить диплом за любой год, включая сюда документы СССР. Дипломы и аттестаты выпускаются на “правильной” бумаге самого высшего качества. Это позволяет делать государственные дипломы, которые невозможно отличить от оригиналов. Документы заверяются всеми обязательными печатями и подписями.
    beinsadouno.bg/events/event/46-%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%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B5%D0%BD%D0%BD%D0%BE%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%B2%D1%8B%D0%B3%D0%BE%D0%B4%D0%BD%D0%BE%D0%B9-%D1%86%D0%B5%D0%BD%D0%B5/

  17. Eanrvhk说道:

    Добрый день!
    Мы можем предложить дипломы любой профессии по выгодным тарифам.
    snupto.com/read-blog/3968_vy-hotite-priobresti-diplom-u-proverennogo-proizvoditelya-zahodite.html

  18. BomesMix说道:

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

  19. Dnrtqhs说道:

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

  20. Uazrvmo说道:

    Привет, друзья!
    Где заказать диплом по необходимой специальности?
    vina-net.ru/

  21. Eanrlta说道:

    Добрый день!
    Мы можем предложить дипломы любых профессий по разумным тарифам.
    naya.social/read-blog/81_proverennyj-i-nadezhnyj-internet-magazin-s-shirokim-katalogom-diplomov.html?mode=day

  22. Jamesjer说道:

    ampicillin amoxicillin: amoxicillin from canada – can you buy amoxicillin uk

  23. Sazrjxh说道:

    Добрый день!
    Приобретение диплома ПТУ с сокращенной программой обучения в Москве
    wiki.wonikrobotics.com/AllegroHandWiki/index.php/Special:AWCforum/post/todo_new_t/id7
    Рады оказаться полезными!

  24. Lazrgsq说道:

    Привет, друзья!
    Мы изготавливаем дипломы любой профессии по доступным тарифам.
    http://www.topairpack.com/купить-бланки-дипломов/

  25. Sazrlqq说道:

    Здравствуйте!
    Быстрое обучение и получение диплома магистра – возможно ли это?
    mymotospeed.ru/legkiy-sposob-poluchit-diplom-lyuboy-professii
    Рады помочь!

  26. ThomasInace说道:

    http://paxloviddelivery.pro/# Paxlovid over the counter

  27. Diplomi_lmol说道:

    Привет, друзья!
    Купить документ института можно в нашей компании в Москве.
    diplomyx.com/kupit-diplom-s-registraciej 

  28. BomesMix说道:

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

  29. ThomasInace说道:

    http://clomiddelivery.pro/# can i buy cheap clomid without dr prescription

  30. Lazrabk说道:

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

  31. Lazrzxn说道:

    Добрый день!
    Мы изготавливаем дипломы любой профессии по приятным ценам.
    phugiabetong.vn/диплом-аттестаты-купить

  32. Lazremr说道:

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

  33. Uazrbet说道:

    [u][b] Здравствуйте![/b][/u]
    [b]Купить диплом университета.[/b]
    [url=http://csexpert.4adm.ru/posting.php?mode=post&f=70&sid=9bbdff1ea7bab9a6feb0268f576f7ed9/]csexpert.4adm.ru/posting.php?mode=post&f=70&sid=9bbdff1ea7bab9a6feb0268f576f7ed9[/url]

  34. ThomasInace说道:

    http://doxycyclinedelivery.pro/# doxycycline generic price

  35. iptv说道:

    I’m impressed, I must say. Seldom do I encounter a blog that’s both educative and amusing, and without a doubt, you’ve hit the nail on the head. The problem is something that too few men and women are speaking intelligently about. I am very happy that I came across this during my search for something regarding this.

  36. Uazrpqs说道:

    Привет!
    Где приобрести диплом специалиста?
    usa.life/read-blog/62808

  37. Uazrqpk说道:

    Здравствуйте!
    Где приобрести диплом специалиста?
    http://www.marqueze.net/miembros/matthewmorgan/profile/classic/

  38. Treftxv说道:

    Привет, друзья!
    Официальная покупка диплома ПТУ с упрощенной программой обучения
    dexanet.ukrbb.net/viewtopic.php?f=5&t=15549
    Поможем вам всегда!.

  39. Mazrrbh说道:

    Привет, друзья!
    Полезная информация как купить диплом о высшем образовании без рисков
    http://www.hinterhof.ch/de/2024/06/30/купить-диплом-урфу/

  40. Uazrljn说道:

    Здравствуйте!
    Где заказать диплом по необходимой специальности?
    my.omsystem.com/members/robertcarter

  41. ThomasInace说道:

    https://ciprodelivery.pro/# buy ciprofloxacin

发表回复

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