前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
Привет!
Заказать документ института вы можете в нашей компании.
ast-diploms.com/otzyvy
Успешной учебы!
Добрый день!
Где заказать диплом специалиста?
http://www.eSurveysPro.com/Survey.aspx?id=19d83309-26ea-40b3-adbc-dbe80bd1adf3
buy generic ciprofloxacin: cipro for sale – buy generic ciprofloxacin
Здравствуйте!
Купить документ о получении высшего образования вы сможете в нашем сервисе.
diploms-x.com/kupit-diplom-chelyabinsk
Luis Suarez https://inter-miami.luis-suarez-ar.com the famous Uruguayan footballer, ended his brilliant career in European clubs and decided to try his hand at a new challenge – Major League Soccer.
where can i get clomid pill: can i order clomid pill – where to buy clomid prices
doxycycline tablets 100mg: doxycycline india pharmacy – doxycycline 50 mg price australia
Lorem Ipsum has been the industry’s standard dummy text https://klubdal.pl/ciqlzl of type and scrambled it to make a type specimen book.
Здравствуйте!
Приобрести документ о получении высшего образования можно у нас.
ast-diploms.com/kupit-diplom-krasnodar
Привет!
Где приобрести диплом по актуальной специальности?
Купить диплом университета.
mystroycenter.ru/diplom-za-dengi-byistro-nadezhno-bezopasno
Здравствуйте!
Где приобрести диплом специалиста?
Заказать диплом о высшем образовании.
b98385gb.beget.tech/2024/07/11/bystroe-i-bezopasnoe-poluchenie-diploma.html
https://paxloviddelivery.pro/# Paxlovid over the counter
Привет, друзья!
Мы изготавливаем дипломы любой профессии по доступным ценам.
6neosolution.fr/2024/06/30/куплю-диплом-велики/
Здравствуйте!
Где заказать диплом по нужной специальности?
Заказать диплом любого университета.
fabnews.ru/forum/showthread.php?p=79938#post79938
https://ciprodelivery.pro/# buy ciprofloxacin over the counter
Привет, друзья!
Мы можем предложить документы ВУЗов, которые расположены в любом регионе РФ. Можно заказать качественный диплом за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Документы выпускаются на “правильной” бумаге высшего качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригинала. Они заверяются необходимыми печатями и штампами.
ls.monetka.in.ua/2024/07/09/priobretaem-dokumenty-v-proverennom-magazine-po-vygodnoy-cene.html
Привет, друзья!
Как официально приобрести аттестат 11 класса с минимальными затратами времени
openmotonews.ru/vash-diplom-byistro-i-nadezhno
Very nice write-up. I definitely love this site. Stick with it!
ciprofloxacin mail online: ciprofloxacin generic – buy generic ciprofloxacin
Привет, друзья!
Купить диплом университета.
http://www.arpt.gov.gn/decret-d-2021-092-prg-sgg-portant-transactions-electroniques-en-republique-de-guinee
Успешной учебы!
Здравствуйте!
Купить документ о получении высшего образования можно у нас в Москве.
ast-diplomy.com/kupit-diplom-krasnoyarsk
Успешной учебы!
Lorem Ipsum has been the industry’s standard dummy text https://taskoo.in/zjnazpq of type and scrambled it to make a type specimen book.
Рекомендации по безопасной покупке диплома о высшем образовании
ast-diploms.com/kupit-diplom-vracha
Привет, друзья!
Узнайте стоимость диплома высшего и среднего образования и процесс получения
590909.ru/users/74
Поможем вам всегда!
Здравствуйте!
Мы предлагаем дипломы любой профессии.
http://www.topairpack.com/диплом-купить-надежно/
Рады оказать помощь!.
http://doxycyclinedelivery.pro/# doxycycline 1000 mg best buy
http://amoxildelivery.pro/# where to get amoxicillin over the counter
I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.
Добрый день!
Мы изготавливаем дипломы любой профессии по разумным ценам. Цена будет зависеть от выбранной специальности, года выпуска и образовательного учреждения. Стараемся поддерживать для заказчиков адекватную ценовую политику. Важно, чтобы дипломы были доступными для подавляющей массы граждан.
userbookmark.com/story17012524/купить-диплом-в-Воронеже
Здравствуйте!
Мы изготавливаем дипломы любой профессии по выгодным тарифам.
onetable.world/read-blog/59803
Добрый день!
Как правильно приобрести диплом колледжа или ПТУ в России, важные моменты
landik-diploms-srednee.ru/svidetelstvo-o-razvode В
Привет!
Приобрести документ о получении высшего образования можно в нашем сервисе.
ast-diplomy.com/kupit-diplom-specialista
http://amoxildelivery.pro/# amoxicillin for sale
Добрый день!
Мы готовы предложить документы техникумов, расположенных на территории всей России. Можно приобрести качественно сделанный диплом от любого заведения, за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты выпускаются на бумаге самого высокого качества. Это позволяет делать настоящие дипломы, не отличимые от оригиналов. Документы заверяются необходимыми печатями и штампами.
sikhona.social/blogs/35217/%D0%9B%D0%B5%D0%B3%D0%BA%D0%BE-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%82-%D0%B2-%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%BC-%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
смотреть классное порево смотреть классное порево .
https://amoxildelivery.pro/# amoxicillin 500 mg without a prescription
Здравствуйте!
Приобрести документ о получении высшего образования
ast-diploms24.ru/kupit-diplom-sankt-peterburg
Lorem Ipsum has been the industry’s standard dummy text https://mobilitatelx.es/ysuqwkn of type and scrambled it to make a type specimen book.
https://amoxildelivery.pro/# how much is amoxicillin prescription
Your style is so unique compared to other people I’ve read stuff
from. Thank you for posting when you’ve got the opportunity, Guess I’ll just bookmark this
blog.
https://amoxildelivery.pro/# medicine amoxicillin 500
http://doxycyclinedelivery.pro/# doxycycline hyclate capsules
консольный грузовой подъемник нужен подъемник грузовой
Привет!
Мы готовы предложить документы ВУЗов, расположенных на территории всей РФ. Можно заказать качественно сделанный диплом от любого заведения, за любой год, включая сюда документы старого образца. Документы печатаются на бумаге высшего качества. Это позволяет делать государственные дипломы, которые невозможно отличить от оригинала. Документы будут заверены необходимыми печатями и подписями.
http://www.southjerseyonline.net/component/comprofiler/pluginclass/cbblogs.html?action=blogs&func=show&id=271
Здравствуйте!
Мы предлагаем документы техникумов, расположенных на территории всей РФ. Можно купить диплом от любого учебного заведения, за любой год, в том числе документы старого образца СССР. Документы выпускаются на бумаге самого высшего качества. Это дает возможность делать настоящие дипломы, которые не отличить от оригинала. Они заверяются всеми необходимыми печатями и штампами.
http://www.scenario.press/blogs/19256/%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5-%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2-%D0%B2-%D0%BF%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%BC-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5
where to buy generic clomid without prescription: order generic clomid without insurance – clomid without a prescription
Привет!
Мы предлагаем документы ВУЗов, расположенных в любом регионе России. Вы сможете приобрести диплом за любой год, в том числе документы старого образца. Дипломы и аттестаты делаются на “правильной” бумаге самого высокого качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригинала. Документы будут заверены необходимыми печатями и подписями.
asepbook.com/read-blog/3797
Здравствуйте!
Купить документ о получении высшего образования можно у нас.
ast-diplomy.com/kupit-diplom-magistra
Хорошей учебы!
buy cipro no rx: buy ciprofloxacin over the counter – buy ciprofloxacin over the counter
http://ciprodelivery.pro/# ciprofloxacin over the counter