前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本Text
- 设置定时器控制子窗口从左到右移动,移动到右边缘时销毁子窗口
实操
- 新建qml文件,这里示例 Barrage.qml
- 里面写入:
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
}
}
}
- 在需要调用的qml文件中,导入并按如下操作使用:
- 由于Barrage.qml和main.qml在同一目录下:
- 因此在main.qml中可以直接使用Barrage.qml
- 以下是 main.qml 的内容
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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
Полезная информация как купить диплом о высшем образовании без рисков
diploms-x.com/kupit-diplom-voronezh
best online pharmacies in mexico [url=http://foruspharma.com/#]buying prescription drugs in mexico[/url] mexico drug stores pharmacies
Сколько стоит получить диплом высшего и среднего образования легально?
diploms-x.com/kupit-diplom-moskva
buy medicines online in india: Online medicine order – indian pharmacy online
mexican drugstore online purple pharmacy mexico price list mexican online pharmacies prescription drugs
best online pharmacies in mexico mexican mail order pharmacies mexico drug stores pharmacies
pharmacy rx world canada: canada drugs reviews – canadian neighbor pharmacy
Lorem Ipsum has been the industry’s standard dummy text https://umcompany.it/qtmfw of type and scrambled it to make a type specimen book.
Привет, друзья!
Мы готовы предложить документы ВУЗов, расположенных на территории всей Российской Федерации. Можно приобрести диплом за любой год, указав необходимую специальность и хорошие оценки за все дисциплины. Документы делаются на “правильной” бумаге высшего качества. Это дает возможности делать государственные дипломы, не отличимые от оригинала. Документы будут заверены необходимыми печатями и штампами.
shoelovershub.com/read-blog/2531_legko-pokupaem-attestat-v-izvestnom-onlajn-magazine-russian-diplom.html
mexico drug stores pharmacies: mexican online pharmacies prescription drugs – mexico pharmacy
http://canadapharmast.com/# canadian pharmacy ratings
canada pharmacy 24h: cheapest pharmacy canada – the canadian drugstore
canadian mail order pharmacy canada pharmacy online reputable canadian pharmacy
buy prescription drugs from canada cheap: best online canadian pharmacy – safe reliable canadian pharmacy
Добрый день!
Заказать диплом любого университета
landik-diploms-srednee.ru/attestat-shkoly В
Хорошей учебы!
https://indiapharmast.com/# online shopping pharmacy india
Здравствуйте!
Быстрая схема покупки диплома старого образца: что важно знать?
club2108.ru/forum/viewtopic.php?pid=190525#p190525
Рады оказать помощь!.
Привет!
Удивительно, но купить диплом кандидата наук оказалось не так сложно
allsportime.ru/kupite-diplom-i-zabudte-o-studencheskih-problemah
Поможем вам всегда!.
Здравствуйте!
Приобрести документ о получении высшего образования можно у нас в столице.
diplomasx24.ru/kupit-diplom-magistra
Успешной учебы!
online pharmacy no prescription necessary
Добрый день!
Мы предлагаем документы техникумов, которые расположены на территории всей Российской Федерации. Можно купить качественный диплом за любой год, включая документы старого образца СССР. Дипломы и аттестаты выпускаются на “правильной” бумаге самого высокого качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригинала. Они заверяются необходимыми печатями и подписями.
powerofthelamb.mn.co/posts/61828768
buying prescription drugs in mexico online: mexican rx online – buying from online mexican pharmacy
Здравствуйте!
Мы можем предложить документы ВУЗов, которые расположены в любом регионе РФ. Можно приобрести диплом за любой год, указав подходящую специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты выпускаются на бумаге высшего качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригинала. Они заверяются всеми обязательными печатями и подписями.
bookgospel.org/blogs/1286/%D0%A1-%D0%BB%D0%B5%D0%B3%D0%BA%D0%BE%D1%81%D1%82%D1%8C%D1%8E-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%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
Добрый день!
Заказать документ института можно в нашей компании в столице.
ast-diplomas.com/kupit-diplom-omsk
best canadian pharmacy: safe canadian pharmacy – cheap canadian pharmacy online
Привет!
Приобрести диплом о высшем образовании
arusak-diploms-srednee.ru/kupit-diplom-magistra В
Хорошей учебы!
Здравствуйте!
Заказать диплом ВУЗа
landik-diploms-srednee.ru/kupit-diplom-v-ekaterinburge В
Успехов в учебе!
фоновое озвучивание фоновое озвучивание .
Добрый день!
Купить диплом о высшем образовании
landik-diploms-srednee.ru/diplom-s-reestromkupit-kupit В
Удачи!
Привет, друзья!
Официальное получение диплома техникума с упрощенным обучением в Москве
zoofortunakz.5nx.ru/posting.php?mode=post&f=96&sid=243fcd228cbef3e00e42224c10ae6978
Рады оказаться полезными!.
Привет!
Купить диплом о среднем полном образовании, в чем подвох и как избежать обмана?
irishpal.com/read-blog/921
Поможем вам всегда!.
canada ed drugs: vipps canadian pharmacy – onlinepharmaciescanada com
mexican drugstore online best online pharmacies in mexico mexico pharmacies prescription drugs
Привет!
Приобретение диплома ВУЗа с сокращенной программой обучения в Москве
plut-uchukov.flybb.ru/viewtopic.php?f=1&t=498&sid=dc982212e940a8d352a34ed17ccb8bf9
Рады помочь!.
Lorem Ipsum has been the industry’s standard dummy text https://nadpoprzeczka.pl/dpbbee of type and scrambled it to make a type specimen book.
Здравствуйте!
Мы изготавливаем дипломы психологов, юристов, экономистов и любых других профессий по невысоким тарифам.
russiajoy.ru/oformlenie-diploma-onlayn-za-neskolko-shagov
canadian pharmacy checker canada ed drugs canadian medications
магазин аккаунтов геншин магазин аккаунтов геншин .
india online pharmacy online shopping pharmacy india top 10 online pharmacy in india
Привет, друзья!
Где заказать диплом специалиста?
Заказать диплом университета.
http://www.yur-dom.ru/communication/forum/messages/forum3/message242/285-bolshoy-vybor-dokumentov-v-izvestnom-internet_magazine?result=new
best online pharmacies in mexico: mexican pharmaceuticals online – reputable mexican pharmacies online
https://indiapharmast.com/# top 10 online pharmacy in india
магазин аккаунтов telegram магазин аккаунтов telegram .
indianpharmacy com: cheapest online pharmacy india – indian pharmacy paypal
canadian drugs: pharmacy com canada – canadian pharmacy online ship to usa
https://canadapharmast.online/# cross border pharmacy canada
Привет, друзья!
Как получить диплом техникума официально и без лишних проблем
igia.cv.ua/index.php/forum/skrin-ka-propozitsij/1719-nado-bystro-zakazat-diplom-ob-obrazovanii#326243
Рады оказаться полезными!.
купить диплом о неполном высшем образовании купить диплом о неполном высшем образовании .
Добрый день!
Купить документ института можно в нашем сервисе.
ast-diploms.com/kupit-diplom-sankt-peterburg
Хорошей учебы!
mexican drugstore online: mexican pharmacy – mexico drug stores pharmacies