前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
п»їbest mexican online pharmacies: mexico drug stores pharmacies – buying prescription drugs in mexico online
п»їbest mexican online pharmacies: medication from mexico pharmacy – mexico drug stores pharmacies
Lorem Ipsum has been the industry’s standard dummy text https://sukrticollections.in/hvhlp of type and scrambled it to make a type specimen book.
best online pharmacies in mexico: mexico drug stores pharmacies – mexican drugstore online
pharmacies in mexico that ship to usa: mexico drug stores pharmacies – buying from online mexican pharmacy
Свежие новости https://diesel.kyiv.ua автомобильного рынка, новинки автопрома
mexico pharmacies prescription drugs: buying prescription drugs in mexico – reputable mexican pharmacies online
http://mexicandeliverypharma.com/# pharmacies in mexico that ship to usa
The fascinating story of Ja Morant’s https://grizzlies-de-memphis.ja-morant-fr.com meteoric rise, from status from rookie to leader of the Memphis Grizzlies and rising NBA superstar.
Привет, друзья!
Где приобрести диплом по нужной специальности?
enkling.com/read-blog/46090
https://mexicandeliverypharma.com/# mexican rx online
Авто статті https://road.kyiv.ua з порадами з ремонту та обслуговування. Авто блог з професійними порадами.
Автомобільні новини https://sedan.kyiv.ua України та світу, тест-драйви автомобілів, автоспорт
medication from mexico pharmacy mexico drug stores pharmacies mexico pharmacy
Здравствуйте!
Полезная информация как официально купить диплом о высшем образовании
mans-diplomy.ru
Добрый день!
Мы изготавливаем дипломы любой профессии по приятным тарифам.
diploms-man.ru
Привет, друзья!
Реально ли приобрести диплом стоматолога? Основные шаги
landik-diploms-srednee.ru/diplom-bakalavra В
Lorem Ipsum has been the industry’s standard dummy text https://mprcode.pl/xcody of type and scrambled it to make a type specimen book.
Привет!
Купить документ о получении высшего образования
ast-diploms.com/kupit-diplom-krasnoyarsk
Добрый день!
Приобрести документ ВУЗа можно в нашем сервисе.
diplomasx.com/kupit-diplom-tehnikuma-kolledzhaВ
Привет!
Купить диплом о высшем образовании.
gamingforum.se/index.php?/gallery/image/121-%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3-%D0%B8-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8-%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-%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/
Здравствуйте!
Купить диплом любого университета.
http://www.guyub.net/read-blog/8690
Lorem Ipsum has been the industry’s standard dummy text https://guacamayaproducciones.es/ffjis of type and scrambled it to make a type specimen book.
Здравствуйте!
Мы изготавливаем дипломы психологов, юристов, экономистов и других профессий по приятным ценам.
mans-diploms.ru
Добрый день!
Мы изготавливаем дипломы психологов, юристов, экономистов и любых других профессий по приятным тарифам.
diplommann.ru
Здравствуйте!
Мы предлагаем дипломы любых профессий по доступным ценам.
mans-diploms.ru
Привет!
Мы изготавливаем дипломы любой профессии по приятным ценам.
mandiplomikx.ru
Lorem Ipsum has been the industry’s standard dummy text https://cagliaricentro.it/xhjwnsc of type and scrambled it to make a type specimen book.
Здравствуйте!
Заказать диплом о высшем образовании.
sonnick84.activosblog.com/27737803/%D0%9F%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%BD%D0%B0%D0%B4%D0%B5%D0%B6%D0%BD%D0%BE%D0%BC-%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-%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
Привет, друзья!
Купить диплом о высшем образовании.
chipokids.ru/company/personal/user/4275/forum/message/1658/1717/
Здравствуйте!
Заказать диплом любого университета.
geoamor.com/read-blog/30282
Здравствуйте!
Приобрести документ о получении высшего образования вы сможете в нашей компании в столице.
diplomasx.com/kupit-diplom-bakalavra-ili-specialista
Начните экономить с нашим промокодом прямо сейчас! https://free-promocode.ru .
Привет!
Мы изготавливаем дипломы психологов, юристов, экономистов и любых других профессий.
lookeify.com/read-blog/4706_zhelaete-zakazat-diplom-u-proverennogo-ispolnitelya-zhdem-vas.html
Окажем помощь!.
Добрый день!
Аттестат школы купить официально с упрощенным обучением в Москве
mans-diploms.ru
Топовые промокоды для экономных покупателей Топовые промокоды для экономных покупателей .
Привет, друзья!
Приобретение школьного аттестата с официальным упрощенным обучением в Москве
diploms-man.ru
Привет, друзья!
Мы изготавливаем дипломы любых профессий.
tygerspace.com/read-blog/5603_kak-najti-proverennyj-onlajn-magazin-kotoryj-prodaet-dokumenty.html?mode=day
Рады помочь!.
Lorem Ipsum has been the industry’s standard dummy text https://artlp.es/prdjazj of type and scrambled it to make a type specimen book.
Heya this is kinda of off topic but I was wondering if blogs use WYSIWYG editors or if you have
to manually code with HTML. I’m starting a blog soon but
have no coding know-how so I wanted to get guidance from someone with experience.
Any help would be enormously appreciated!
Полезные советы по использованию промокодов. http://www.free-promocode.ru .
Здравствуйте!
Заказать диплом о высшем образовании.
berforum.ru/gallery/image/8670-kak-nayti-nadezhnyy-internet-magazin-s-bolshim-vyborom-diplomov/?context=new
Привет, друзья!
Мы изготавливаем дипломы любой профессии по невысоким тарифам.
mans-diplom.ru
PrestigeAvto https://prestige-avto.com.ua України автомобільний журнал
Lorem Ipsum has been the industry’s standard dummy text https://goglernet.dk/bsvdzw of type and scrambled it to make a type specimen book.
Найбільший автомобільний портал https://mirauto.kyiv.ua України
Привет, друзья!
Заказать документ о получении высшего образования можно в нашем сервисе.
asxdiplomik.com/kupit-diplom-bakalavra-ili-specialistaВ
Привет, друзья!
Заказать документ института вы имеете возможность у нас в Москве.
п»їast-diplom.com/kupit-diplom-chelyabinsk
Щоденні новини https://k-moto.com.ua із автомобільного середовища. Поради автоаматорам. Тест-драйви автомобілів з пробігом та огляди новинок
Добрый день!
Мы изготавливаем дипломы психологов, юристов, экономистов и других профессий по выгодным ценам.
mandiplomik.ru