前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
Привет, друзья!
Купить диплом любого университета.
tyachiv.ukraine7.com/login
Успешной учебы!
cipro ciprofloxacin: buy cipro without rx – buy cipro online without prescription
Привет!
Купить диплом университета.
deviva.ru/viewtopic.php?id=8664#p61513
Удачи!
Lorem Ipsum has been the industry’s standard dummy text https://pawslo.pl/qfhrbhn of type and scrambled it to make a type specimen book.
Привет!
Купить документ ВУЗа можно в нашем сервисе.
asxdiplomik24.ru/kupit-diplom-o-srednem-obrazovanii
Хорошей учебы!
Good write-up. I definitely appreciate this website. Keep it up!
Добрый день!
Приобрести документ о получении высшего образования вы сможете у нас.
diplomyx.com/kupit-diplom-perm
top mail order pharmacies
Вопросы и ответы: можно ли быстро купить диплом старого образца?
diplomasx.com/kupit-diplom-moskva
Привет, друзья!
Официальная покупка школьного аттестата с упрощенным обучением в Москве
arusak-diploms-srednee.ru/svidetelstvo-o-brake В
Добрый день!
Мы изготавливаем дипломы любой профессии по приятным тарифам.
newmanstrength.com/диплом-проведенный-купить/
Lorem Ipsum has been the industry’s standard dummy text https://tappeto4pets.it/qdjnx of type and scrambled it to make a type specimen book.
Добрый день!
Приобрести документ о получении высшего образования
diplomyx24.ru/kupit-diplom-sankt-peterburg
paxlovid covid: Paxlovid over the counter – paxlovid cost without insurance
п»їpaxlovid: paxlovid buy – п»їpaxlovid
Здравствуйте!
Мы можем предложить дипломы психологов, юристов, экономистов и других профессий по приятным тарифам.
laboghrissi.com/купить-диплом-мгта-или-любого-вуза-рос/
Здравствуйте!
Мы можем предложить дипломы любой профессии по доступным ценам. Цена будет зависеть от выбранной специальности, года получения и университета. Всегда стараемся поддерживать для клиентов адекватную политику цен. Для нас очень важно, чтобы документы были доступными для большого количества наших граждан.
myworldavto.ru/diplom-na-zakaz-vash-shans-izmenit-svoyu-zhizn
This is a topic that’s close to my heart… Take care! Where can I find the contact details for questions?
Добрый день!
Заказать документ о получении высшего образования вы сможете у нас.
diplomasx.com/kupit-diplom-moskva
Хорошей учебы!
Привет, друзья!
Где заказать диплом специалиста?
my.omsystem.com/members/anthonyjoseph
buy doxycycline 100mg capsules online: cheapest 40 mg doxycycline – how to buy doxycycline without a prescription
modafinil 200mg buy online
Lorem Ipsum has been the industry’s standard dummy text https://limpiezasletsgo.es/eonztcf of type and scrambled it to make a type specimen book.
buy cipro online canada: buy cipro – cipro
where can i buy cipro online: ciprofloxacin generic price – buy ciprofloxacin over the counter
Добрый день!
Заказать диплом университета.
sonnick84.jiliblog.com/85694484/%D0%9F%D1%80%D0%B8%D0%BE%D0%B1%D1%80%D0%B5%D1%82%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%BD%D0%B0%D0%B4%D0%B5%D0%B6%D0%BD%D0%BE%D0%BC-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D1%8B-%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D1%81%D1%82%D0%BE%D0%B2
Привет, друзья!
Заказать документ о получении высшего образования можно у нас в столице.
ast-diplom.com/kupit-diplom-novosibirsk
Привет, друзья!
Заказать диплом ВУЗа.
flerus-shop.hcp.dilhost.ru/club/user/3/forum/message/861/857/
Привет!
Приобрести диплом о высшем образовании.
lada-clubs.ru/gallery/image/733-kak-podobrat-proverennyy-magazin-s-bolshim-vyborom-diplomov/
can you buy amoxicillin uk: generic amoxicillin – buy amoxicillin
купить квартиру в новостройке недорого https://kvartiru-kupit43.ru
https://indibeti.in is a premier online casino offering a wide array of games including slots, table games, and live dealer options. Renowned for its user-friendly interface and robust security measures, Indibet ensures a top-notch gaming experience with exciting bonuses and 24/7 customer support.
купить 2 комнатную квартиру в новостройке купить квартиру в новостройке с ремонтом
купить квартиру в новостройке недорого https://kvartira-new43.ru
Lorem Ipsum has been the industry’s standard dummy text https://starenterprises.nl/tiiwus of type and scrambled it to make a type specimen book.
Привет!
Можно ли быстро купить диплом старого образца и в чем подвох?
http://www.imdb.com/list/ls547814563/?ref_=lsedt_ov
Всегда вам поможем!.
Добрый день!
Мы готовы предложить дипломы любой профессии по приятным ценам.
amengram.com/blogs/235/ упите-?ипломы-Ѕыстро-и-Ќадежно
Здравствуйте!
Заказать документ ВУЗа можно в нашей компании.
ast-diplom24.ru/kupit-diplom-voronezh
Успехов в учебе!
Привет!
Купить документ о получении высшего образования вы сможете в нашей компании.
diploms-x24.ru/kupit-diplom-voronezh
Успехов в учебе!
Привет!
Официальная покупка диплома вуза с упрощенной программой обучения
vk.com/prymechatel?w=wall-147947644_398
Окажем помощь!.
Привет, друзья!
Заказать документ университета можно в нашей компании.
diplomasx.com/kupit-diplom-s-registraciej
Привет, друзья!
Купить документ о получении высшего образования можно у нас в столице.
asxdiplomik.com/kupit-diplom-kazan
Привет, друзья!
Заказать диплом о высшем образовании.
ls.co-x.ru/2024/07/04/kak-nayti-nadezhnyy-onlayn-magazin-s-obshirnym-assortimentom-diplomov.html
Everything is very open with a very clear description of the challenges. It was truly informative. Your website is very helpful. Many thanks for sharing!
Можно ли купить аттестат о среднем образовании, основные моменты и вопросы
ast-diplomas.com/otzyvy
Lorem Ipsum has been the industry’s standard dummy text https://march.cl/invfj of type and scrambled it to make a type specimen book.
Добрый день!
Мы изготавливаем дипломы любой профессии по приятным ценам.
http://www.globalcorp.it/купить-диплом-мгудт-или-любого-вуза-ро/
Добрый день!
Мы предлагаем дипломы любой профессии.
http://www.fonfachpropiedades.cl/2024/07/12/диплом-магистра-2010-2013-фото/
Окажем помощь!.
Здравствуйте!
Мы готовы предложить дипломы любой профессии по приятным ценам. Стоимость будет зависеть от той или иной специальности, года выпуска и образовательного учреждения. Стараемся поддерживать для заказчиков адекватную ценовую политику. Для нас важно, чтобы дипломы были доступными для подавляющей массы наших граждан.
bookmark-nation.com/story17073977/купить-диплом-о-высшем-цена
Здравствуйте!
Заказать диплом университета.
bl.com.tw/index.php?title=??????_??????:_???_??????_???_?_?????_?????_?_?????????????????_?????????!
Удачи!