前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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 .
Привет!
Где заказать диплом по актуальной специальности?
mail.vinpr.org/obshestvo/6459-attestat-ob-okonchanii-sredney-shkoly-poluchaem.html
https://ciprodelivery.pro/# cipro
Здравствуйте!
Приобрести документ университета вы сможете в нашей компании.
diplomyx24.ru/kupit-diplom-vracha
Удачи!
https://doxycyclinedelivery.pro/# doxycycline without a prescription
Привет, друзья!
Купить диплом ВУЗа.
gtago.ru/gallery/image/19-ogromnyy-vybor-dokumentov-v-populyarnom-internet-magazine/?context=new
https://doxycyclinedelivery.pro/# where can i buy doxycycline
Привет!
Как не стать жертвой мошенников при покупке диплома о среднем полном образовании
arusak-diploms-srednee.ru/kupit-attestat-za-11-klass В
https://ciprodelivery.pro/# buy cipro online without prescription
http://amoxildelivery.pro/# where can i get amoxicillin 500 mg
Здравствуйте!
Приобрести диплом о высшем образовании.
yobasket.es/es/perfil-usuario/pluginclass/cbblogs.html?action=blogs&func=show&id=121
Здравствуйте!
Приобрести диплом о высшем образовании.
true.pahom.su/2024/07/04/kak-nayti-nadezhnyy-magazin-s-obshirnym-vyborom-diplomov.html
https://amoxildelivery.pro/# price for amoxicillin 875 mg
Привет, друзья!
Приобрести диплом любого университета.
laporteproperty.com/en/cb-profile/pluginclass/cbblogs?action=blogs&func=show&id=121
Привет, друзья!
Как официально приобрести аттестат 11 класса с минимальными затратами времени
forum-divorcedmoms.azurewebsites.net/posts/m24215-Bystroe-poluchenie-diploma–vash-shans-na-uspekh#post24215
Окажем помощь!
diflucan pills
Lorem Ipsum has been the industry’s standard dummy text https://excellenceevents.in/xttvura of type and scrambled it to make a type specimen book.
amoxicillin 500mg price: amoxicillin 500 tablet – buy amoxicillin online no prescription
http://paxloviddelivery.pro/# Paxlovid buy online
https://paxloviddelivery.pro/# paxlovid generic
effexor 187.5
Здравствуйте!
Заказать документ университета можно в нашем сервисе.
ast-diplom24.ru/kupit-diplom-rostov-na-donu
Хорошей учебы!
If you want to increase your experience simply keep visiting this web page and be updated with the most up-to-date gossip posted here.
My blog post How Long Does Mounjaro Stay In Your System?
Привет!
Мы предлагаем документы ВУЗов, которые находятся на территории всей России. Вы сможете приобрести диплом от любого учебного заведения, за любой год, указав необходимую специальность и хорошие оценки за все дисциплины. Документы выпускаются на бумаге высшего качества. Это дает возможность делать настоящие дипломы, которые не отличить от оригинала. Документы заверяются необходимыми печатями и штампами.
bombosait.ru/gallery/image/124-%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5-%D1%86%D0%B5%D0%BD%D1%8B-%D0%B8-%D0%B2%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%B5-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD/
Привет!
Диплом вуза купить официально с упрощенным обучением в Москве
a-bcd.ru/news/201718/
Поможем вам всегда!.
Добрый день!
Купить диплом магистра оказалось возможно, быстрое обучение и диплом на руки
landik-diploms-srednee.ru/kupit-diplom-v-novosibirske В
Добрый день!
Как правильно приобрести диплом колледжа или ПТУ в России, важные моменты
arusak-diploms-srednee.ru/kupit-diplom-v-krasnoiarske
Привет, друзья!
Приобрести диплом любого университета.
kofe.80lvl.ru/viewtopic.php?f=10&t=728
Удачи!
Привет, друзья!
Заказать диплом любого университета.
fire-team.ru/forum/member.php?u=1143
Хорошей учебы!
Привет, друзья!
Купить документ о получении высшего образования можно в нашей компании в столице.
diplomasx.com/kupit-diplom-vracha
Успешной учебы!
amoxicillin 500mg price: order amoxicillin online no prescription – amoxicillin 500 mg where to buy
In recent years, the leading positions in the Spanish https://spanish-championship.laliga-ar.com championship have been firmly occupied by two major giants – Barcelona and Real Madrid.
Добрый день!
Купить документ института вы имеете возможность у нас в Москве.
diplomyx24.ru/kupit-diplom-sankt-peterburg
Успехов в учебе!
In the German football https://german-championship.bundesliga-football-ar.com championship known as the Bundesliga, rivalries between clubs have always been intense.
Добрый день!
Приобрести документ о получении высшего образования
ast-diplomas.com/otzyvy
Здравствуйте!
Купить диплом о высшем образовании.
library.kemu.ac.ke/kemuwiki/index.php/??????_?????_???_???????_????????
Успехов в учебе!
The Italian football championship https://italian-championship.serie-a-ar.com known as Serie A, has seen an impressive revival in recent years.
Здравствуйте!
Мы изготавливаем дипломы любой профессии по приятным ценам.
saltandsweetsaftab.com/2024/06/30/купить-диплом-молдавии/
amoxicillin 500mg prescription: buy amoxicillin online cheap – amoxicillin brand name
Привет, друзья!
Купить документ ВУЗа
ast-diplomas24.ru/kupit-diplom-krasnoyarsk
Здравствуйте!
Диплом ВУЗа купить официально с упрощенным обучением в Москве
asepbook.com/read-blog/4002
Рады оказать помощь!
The road to the Premier League https://english-championship.premier-league-ar.com begins long before a team gets promoted to the English Premier League for the first time
Привет, друзья!
Заказать документ ВУЗа
ast-diplomas24.ru/kupit-diplom-krasnoyarsk
The golf https://arabic.golfclub-ar.com industry in the Arab world is growing rapidly, attracting players from all over the world.
http://ciprodelivery.pro/# ciprofloxacin over the counter
paxlovid price: paxlovid pill – paxlovid for sale
I blog quite often and I genuinely appreciate your information. Your article has really peaked my interest. I am going to book mark your website and keep checking for new details about once per week. I opted in for your Feed too.
Привет!
Мы можем предложить документы ВУЗов, расположенных на территории всей РФ. Можно купить качественно напечатанный диплом за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты делаются на бумаге самого высшего качества. Это позволяет делать государственные дипломы, не отличимые от оригинала. Документы будут заверены необходимыми печатями и штампами.
webmentes.com/read-blog/200
Привет!
Мы готовы предложить документы ВУЗов, расположенных на территории всей Российской Федерации. Вы можете заказать качественный диплом за любой год, указав актуальную специальность и оценки за все дисциплины. Документы выпускаются на “правильной” бумаге самого высокого качества. Это позволяет делать государственные дипломы, не отличимые от оригиналов. Документы заверяются необходимыми печатями и штампами.
kingasteroid.com/blogs/285/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE-%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%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
ラブドール・リアルドールは日本人がラブドール エロ運営するショップで購入することを強くおすすめします。