前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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-diplomas.com/kupit-diplom-perm
Добрый день!
Купить документ о получении высшего образования вы имеете возможность у нас.
ast-diploms.com/kupit-diplom-krasnodar
There’s definately a lot to find out about this subject. I like all the points you have made.
Привет!
Приобрести документ о получении высшего образования вы можете в нашей компании.
diplomasx.com/kupit-diplom-novosibirsk
Привет!
Аттестат школы купить официально с упрощенным обучением в Москве
nigerianelections2019.com/купить-диплом-проверенные-способы/
Рады помочь!.
Здравствуйте!
Пошаговая инструкция по официальной покупке диплома о высшем образовании
arusak-diploms-srednee.ru/kupit-diplom-v-krasnodare В
Lorem Ipsum has been the industry’s standard dummy text https://tuttomedicale.it/uaosm of type and scrambled it to make a type specimen book.
Свіжі новини України https://lenta.kyiv.ua останні новини з-за кордону, новини політики, економіки, спорту, культури.
Привет!
Купить документ университета
diplomasx24.ru/kupit-diplom-nizhnij-novgorod
Привет, друзья!
Мы предлагаем дипломы любой профессии по доступным тарифам.
axessasia.com/2024/06/30/диплом-в-ухте/
Україна свіжі новини https://kiev-pravda.kiev.ua останні події на сьогодні
Популярные репортажи https://infotolium.com в больших фотографиях, новости, события в мире
Новини України https://kiev-online.com.ua останні події в Україні та світі сьогодні, новини України за минулий день онлайн
Добрый день!
Официальная покупка диплома вуза с сокращенной программой в Москве
arusak-diploms-srednee.ru/kupit-diplom-magistra В
Здравствуйте!
Купить документ института
diploms-x24.ru/kupit-diplom-krasnoyarsk
Добрый день!
Мы изготавливаем дипломы любой профессии.
uptoscreen.com/read-blog/4362_kak-podobrat-nadezhnyj-onlajn-magazin-kotoryj-prodaet-dokumenty.html
Всегда вам поможем!.
Привет, друзья!
Заказать документ института можно в нашей компании.
ast-diplomas24.ru/kupit-diplom-ekaterinbur
Хорошей учебы!
dexamethasone cost price
Lorem Ipsum has been the industry’s standard dummy text https://wilebud.pl/onpiwa of type and scrambled it to make a type specimen book.
Добрый день!
Приобрести диплом о высшем образовании.
biomedia.pro/club/user/112304/forum/message/3789/13271/
Добрый день!
Купить диплом университета.
itstagram.ru/read-blog/394
Привет!
Мы изготавливаем дипломы любой профессии по доступным ценам.
service.gnla.com.au/2024/06/30/купить-диплом-капитана/
Привет!
Купить диплом университета.
antrem.ru/cb-profile/pluginclass/cbblogs?action=blogs&func=show&id=283
Привет!
Купить документ о получении высшего образования можно в нашем сервисе.
ast-diploms.com/kupit-diplom-krasnodar
Здравствуйте!
Купить документ университета вы можете в нашем сервисе.
ast-diplomy.com/kupit-diplom-nizhnij-novgorod
Успешной учебы!
Lorem Ipsum has been the industry’s standard dummy text https://spahouse.dk/xzaebch of type and scrambled it to make a type specimen book.
Привет!
Как получить диплом техникума с упрощенным обучением в Москве официально
foro.rune-nifelheim.com/general-ragnarok-m/diplomy-ot-veduschih-vuzov-strany/
Новини сьогодні https://gau.org.ua останні новини України та світу онлайн
Новинний ресурс https://actualnews.kyiv.ua про всі важливі події в Україні та світі.
Останні новини України https://gromrady.org.ua сьогодні онлайн – головні події світу
seo компания раскрутка сайта цена
заказать сео продвижение сайта казань заказать сео продвижение
This post is worth everyone’s attention. When can I find
out more?
Привет!
Мы изготавливаем дипломы психологов, юристов, экономистов и любых других профессий по выгодным тарифам.
webyourself.eu/blogs/358414/ упите-?ипломы-Ѕыстро-и-Ќадежно
and the abuser was joining in both to keep him or herself safe from becoming the target and to establish loyalty to the abusive parent.ダッチワイフThis is especially true in a family where a mother or father is high in narcissistic traits,
Здравствуйте!
Стоимость дипломов высшего и среднего образования и процесс их получения
landik-diploms-srednee.ru/svidetelstvo-o-razvode В
Привет, друзья!
Приобрести документ о получении высшего образования можно у нас в Москве.
ast-diplom.com/kupit-diplom-omsk
Хорошей учебы!
система для конференц зала https://www.oborudovanie-konferenc-zalov.ru .
переговорная комната под ключ переговорная комната под ключ .
Добрый день!
Как официально приобрести аттестат 11 класса с минимальными затратами времени
thmyan1.pgdthapmuoidt.edu.vn/купить-диплом-красноярск/
Привет, друзья!
Полезная информация как купить диплом о высшем образовании без рисков
bjyou4122.com/?270393
Будем рады вам помочь!.
Привет!
Где заказать диплом специалиста?
kryza.network/read-blog/11426191
Добрый день!
Купить диплом любого университета.
bmw-donbass.ru/gallery/image/845-%D0%BB%D0%B5%D0%B3%D0%BA%D0%B8%D0%B9-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-%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%B0-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%B5%D1%82-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC%D1%8B/
Привет, друзья!
Где приобрести диплом специалиста?
dzone.com/users/5166875/leonardchambers.html
оборудование для переговорных комнат оборудование для переговорных комнат .
маленькая переговорная маленькая переговорная .
Здравствуйте!
Заказать документ о получении высшего образования можно в нашей компании в Москве.
ast-diplom24.ru/kupit-diplom-o-srednem-obrazovanii
Успехов в учебе!
оборудование конференц зала оборудование конференц зала .
ключ от комнаты совещаний ключ от комнаты совещаний .
Добрый день!
Как официально купить диплом вуза с упрощенным обучением в Москве
gaigoimoinhat.xyz/купить-диплом-о-высшем-образовании-со/
Рады оказаться полезными!.