前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
Manny Pacquiao https://filipino-boxer.manny-pacquiao-ar.com is one of the most prominent boxers in the history of the sport.
Mike Tyson https://american-boxer.mike-tyson-ar.com one of the most famous and influential boxers in history, was born on June 30, 1966 in Brooklyn, New York.
Muhammad Ali https://american-boxer.muhammad-ali-ar.com is perhaps one of the most famous and greatest athletes in the history of boxing.
Добрый день!
Аттестат 11 класса купить официально с упрощенным обучением в Москве
mockwacom.getbb.ru/viewtopic.php?f=11&t=1728
Рады помочь!.
Lorem Ipsum has been the industry’s standard dummy text https://konkretmatka.pl/tcmij of type and scrambled it to make a type specimen book.
Привет!
Приобрести диплом о высшем образовании.
appleincub.ru/kupit-diplomyi-s-polnyim-paketom-dokumentov
Успешной учебы!
Добрый день!
Где купить диплом специалиста?
Купить диплом о высшем образовании.
100foto.com/forum/user/1575/
can you buy cheap clomid for sale: where buy clomid without insurance – where to buy clomid prices
Добрый день!
Приобрести документ о получении высшего образования вы имеете возможность в нашей компании.
diplomyx.com/otzyvy
Успехов в учебе!
i-guru – Ремонт Iphone и другой техники Apple в Минске
ремонт wi fi айфона 12 Pro Max Минск
Профессиональный ремонт любых устройств из линейки Apple, без посредников
80% ремонтов iPhone занимает около 20 минут
Несложные ремонты делаются быстро, модульный ремонт в большинстве случаев занимает не более 20 минут.
Почему выбирают i-guru
Ремонт в тот же день
Даже большинство сложных ремонтов выполняем день в день.
Гарантировано низкие цены
Мы беремся за сложные задачи, не передавая их сторонним исполнителям, и зарабатываем не как посредники.
Честная гарантия
Предлагаем честную гарантию на выполненные работы до 12 месцев в зависимости от вида работ.
car rental Tivat airport Montenegro https://montenegro-car-rental-hire.com
Добрый день!
Где заказать диплом по нужной специальности?
Купить диплом о высшем образовании.
moscowurban.getbb.ru/viewtopic.php?f=12&t=1663
Здравствуйте!
Купить диплом о высшем образовании.
borderforum.ru/viewtopic.php?f=7&t=10294&sid=28cb62f59c5aa246312f7d4a4668aa7d
Здравствуйте!
Купить диплом о высшем образовании.
irc71.ru/index.php/jomsocial/groups/viewbulletin/257-kak-podyskat-nadezhnyj-onlajn-magazin-s-obshirnym-katalogom-diplomov?groupid=47
https://clomiddelivery.pro/# can i order cheap clomid pills
amoxicillin 500mg no prescription [url=http://amoxildelivery.pro/#]amoxicillin 500 mg where to buy[/url] ampicillin amoxicillin
http://clomiddelivery.pro/# can i get clomid online
Привет, друзья!
Мы готовы предложить документы техникумов, которые расположены в любом регионе РФ. Вы сможете купить диплом от любого заведения, за любой год, указав необходимую специальность и оценки за все дисциплины. Документы печатаются на “правильной” бумаге высшего качества. Это позволяет делать настоящие дипломы, которые не отличить от оригиналов. Они заверяются всеми обязательными печатями и штампами.
tosiya.ru/cb-profile/pluginclass/cbblogs.html?action=blogs&func=show&id=305
Быстрая покупка диплома старого образца: возможные риски
ast-diplomas24.ru/kupit-diplom-krasnoyarsk
price of lyrica in canada
Здравствуйте!
Покупка диплома о среднем полном образовании: как избежать мошенничества?
liderotrasli.ru/index.php?subaction=userinfo&user=okuwuc
Поможем вам всегда!.
Привет!
Покупка школьного аттестата с упрощенной программой: что важно знать
vrn.best-city.ru/forum/thread540115837/
Окажем помощь!.
Привет, друзья!
Приобрести диплом о высшем образовании.
stareishina.com/gallery/image/3633-lux-diplomru/
Привет, друзья!
Процесс получения диплома стоматолога: реально ли это сделать быстро?
a-bcd.ru/news/201718/
Поможем вам всегда!.
doxycycline online no prescription: doxycycline without rx – tetracycline doxycycline
Lorem Ipsum has been the industry’s standard dummy text https://selfpas.it/vrvcukn of type and scrambled it to make a type specimen book.
buy cipro without rx: buy cipro online without prescription – buy cipro online without prescription
Добрый день!
Заказать документ о получении высшего образования можно в нашей компании.
ast-diploms.com/kupit-diplom-bakalavra-ili-specialista
cost cheap clomid now: where to buy clomid without a prescription – where can i buy clomid without insurance
http://doxycyclinedelivery.pro/# doxycycline minocycline
http://clomiddelivery.pro/# where can i buy clomid no prescription
http://ciprodelivery.pro/# ciprofloxacin 500 mg tablet price
Здравствуйте!
Рекомендации по безопасной покупке диплома о высшем образовании
iaescortsmap.ixbb.ru/viewtopic.php?id=108#p108
Рады помочь!
Привет, друзья!
Приобрести документ о получении высшего образования вы сможете в нашем сервисе.
ast-diplomas.com/kupit-diplom-o-srednem-obrazovanii
Удачи!
http://amoxildelivery.pro/# amoxicillin discount
Привет!
Полезные советы по безопасной покупке диплома о высшем образовании.
Заказать диплом ВУЗа.
chatclub.mn.co/posts/61838312
paxlovid buy: paxlovid pill – paxlovid generic
Привет!
Мы изготавливаем дипломы любой профессии по выгодным тарифам.
bence.net/read-blog/59_proverennyj-onlajn-magazin-s-ogromnym-assortimentom-diplomov.html?mode=night
https://paxloviddelivery.pro/# paxlovid for sale
Привет, друзья!
Приобрести документ ВУЗа вы сможете в нашем сервисе.
ast-diplom.com/kupit-diplom-o-srednem-obrazovanii
Хорошей учебы!
Привет!
Приобрести документ университета вы имеете возможность в нашем сервисе.
ast-diplomas24.ru/kupit-diplom-rostov-na-donu
Успешной учебы!
Привет, друзья!
Приобрести документ университета можно у нас.
diploms-x.com/kupit-diplom-krasnoyarsk
Успешной учебы!
amoxicillin without a prescription: amoxicillin over counter – amoxicillin 500 mg tablets
https://paxloviddelivery.pro/# paxlovid buy
http://doxycyclinedelivery.pro/# doxycycline price usa
Здравствуйте!
Мы предлагаем документы техникумов, расположенных на территории всей РФ. Можно купить качественный диплом от любого учебного заведения, за любой год, указав подходящую специальность и оценки за все дисциплины. Дипломы и аттестаты делаются на бумаге самого высокого качества. Это дает возможность делать настоящие дипломы, не отличимые от оригинала. Они будут заверены всеми требуемыми печатями и подписями.
ld6aehw2v.get-blogging.com/28758210/%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%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%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
Привет!
Купить документ ВУЗа можно у нас в столице.
diploms-x.com/kupit-diplom-s-registraciej
Saved as a favorite, I like your web site!
Привет!
Как купить аттестат 11 класса с официальным упрощенным обучением в Москве
znamo.listbb.ru/posting.php?mode=post&f=9
Окажем помощь!
Добрый день!
Мы предлагаем дипломы психологов, юристов, экономистов и прочих профессий по приятным ценам.
standart-rzn.ru/kvartiry-i-mkd/vychet-na-pokupku-doma-s-uchastkom.html
Привет, друзья!
Мы изготавливаем дипломы любой профессии по приятным тарифам.
http://www.niagarafallspal.com/read-blog/829_zhelaete-zakazat-diplom-u-nadezhnogo-proizvoditelya-zahodite.html