前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
![](https://blog.coolight.cool/wp-content/uploads/2022/06/barrage.gif)
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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在同一目录下:
![](https://blog.coolight.cool/wp-content/uploads/2022/06/image-43.png)
- 因此在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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
Здравствуйте!
Мы изготавливаем дипломы психологов, юристов, экономистов и любых других профессий по приятным тарифам.
lgzprojects.co.za/2024/06/30/куплю-диплом-рф/
Привет!
Мы можем предложить дипломы любой профессии по выгодным тарифам.
toplentanews.ru/oformlenie-diploma-onlayn-za-neskolko-shagov
female viagra australia for sale
Добрый день!
Приобрести документ института вы сможете у нас в Москве.
asxdiplomik.com/kupit-diplom-perm
световое оборудование для актового зала oborudovanija-dlja-aktovyh-zalov.ru .
Добрый день!
Заказать диплом о высшем образовании.
midoma.ru/node/shirokiy-vybor-dokumentov-v-izvestnom-interne
Останні новини світу https://uamc.com.ua про Україну від порталу новин Ukraine Today
Lorem Ipsum has been the industry’s standard dummy text https://maaximizate.es/huuqxbf of type and scrambled it to make a type specimen book.
Останні новини https://thingshistory.com зовнішньої та внутрішньої політики в країні та світі.
Головні новини https://status.net.ua сьогодні, найсвіжіші та останні новини України онлайн
Wonderful article! We will be linking to this particularly great content on our site. Keep up the great writing.
Корисні та цікаві статті https://sevsovet.com.ua про здоров’я, дозвілля, кар’єру.
Привет!
Приобрести документ о получении высшего образования можно в нашей компании.
diplomasx.com/kupit-diplom-sankt-peterburg
Хорошей учебы!
Здравствуйте!
Приобрести диплом университета.
samanalevi.com.tr/read-blog/64
Здравствуйте!
Заказать диплом о высшем образовании.
sonnick84.wssblogs.com/28284612/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D1%80%D0%B0%D1%81%D1%85%D0%BE%D0%B4%D1%8B-%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8F-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D1%81%D0%BA%D0%B8%D0%B9-%D0%BE%D0%B1%D0%B7%D0%BE%D1%80
Добрый день!
Купить документ о получении высшего образования можно в нашем сервисе.
ast-diplomas24.ru/kupit-diplom-moskva
Успешной учебы!
Добрый день!
Купить диплом о высшем образовании.
http://www.shopwheel.ru/club/user/49/blog/54941/
Lorem Ipsum has been the industry’s standard dummy text https://vildtnemt.dk/pvzbxxy of type and scrambled it to make a type specimen book.
Здравствуйте!
Мы изготавливаем дипломы любой профессии по приятным ценам.
angelicaleyva.es/купить-диплом-тамбов/
Привет, друзья!
Заказать документ о получении высшего образования можно в нашей компании в Москве.
ast-diplom.com/kupit-diplom-kandidata-nauk
Привет, друзья!
Купить документ о получении высшего образования вы имеете возможность у нас в столице.
diplomyx.com/kupit-diplom-o-vysshem-obrazovanii
Lorem Ipsum has been the industry’s standard dummy text https://decalsgroup.in/gsswccg of type and scrambled it to make a type specimen book.
оборудование для сцены актового зала оборудование для сцены актового зала .
Hi there! I just want to give you a big thumbs up for
the excellent information you have got right here on this post.
I am coming back to your blog for more soon.
You made some good points there. I checked on the net for more info about the issue and found most individuals will go along with your views on this website.
Добрый день!
Мы предлагаем дипломы психологов, юристов, экономистов и прочих профессий по доступным тарифам.
????.tokyo/купить-диплом-справку/
قیمت سیر ترشی 5 ساله
Здравствуйте!
Заказать документ о получении высшего образования вы сможете в нашей компании.
ast-diplomy24.ru/kupit-diplom-o-srednem-obrazovanii
Успешной учебы!
Lorem Ipsum has been the industry’s standard dummy text https://buscahoteles.es/xgxxvwy of type and scrambled it to make a type specimen book.
Новини, останні події https://prp.org.ua в Україні та світі, новини політики, бізнесу та економіки, законодавства
Новини України https://sensus.org.ua та світу сьогодні. Головні та останні новини дня
Головні новини https://pto-kyiv.com.ua України та світу
Новини та аналітика https://newsportal.kyiv.ua ситуація в Україні.
Головні новини https://mediashare.com.ua про регіон України. Будьте в курсі останніх новин
Добрый день!
Заказать документ о получении высшего образования можно у нас в Москве. Мы предлагаем документы об окончании любых ВУЗов Российской Федерации. Вы сможете получить необходимый диплом по любым специальностям, любого года выпуска, включая документы СССР. Гарантируем, что при проверке документа работодателями, подозрений не появится.
Мы можем предложить дипломы любых профессий по приятным ценам. Стоимость зависит от выбранной специальности, года выпуска и ВУЗа. Всегда стараемся поддерживать для клиентов адекватную политику цен. Для нас очень важно, чтобы дипломы были доступны для большого количества граждан.
antoinegriezmannclub.com/read-blog/2702_bystro-zakazyvaem-attestat-v-internet-magazine-russian-diplom.html
Окажем помощь!
Добрый день!
Мы можем предложить дипломы психологов, юристов, экономистов и любых других профессий.
horordark.ru/kupit-diplom-onlayn-nadezhno-i-udobno
Рады оказаться полезными!.
buy viagra online
Привет, друзья!
Купить документ института можно в нашей компании.
ast-diplomas.com/kupit-diplom-kandidata-nauk
Lorem Ipsum has been the industry’s standard dummy text https://reneborg.dk/sxccxm of type and scrambled it to make a type specimen book.
This is a good tip especially to those fresh to the blogosphere. Short but very accurate information… Appreciate your sharing this one. A must read article.
Добрый день!
Где купить диплом по нужной специальности?
http://www.elephantjournal.com/profile/poydicikko/
Привет, друзья!
Диплом техникума купить официально с упрощенным обучением в Москве
isnw.ru/2024/06/30/купить-диплом-иргупс/
Привет!
Приобрести диплом ВУЗа.
o91746bp.beget.tech/2024/07/04/ogromnyy-katalog-dokumentov-v-populyarnom-onlayn-magazine.html
Добрый день!
Заказать документ института можно у нас в Москве.
asxdiplomik24.ru/kupit-diplom-nizhnij-novgorod
Удачи!
Здравствуйте!
Купить документ о получении высшего образования вы имеете возможность в нашей компании в Москве. Мы оказываем услуги по продаже документов об окончании любых университетов Российской Федерации. Вы сможете получить необходимый диплом по любым специальностям, любого года выпуска, в том числе документы образца СССР. Гарантируем, что при проверке документа работодателями, никаких подозрений не появится.
Мы предлагаем дипломы психологов, юристов, экономистов и прочих профессий по доступным ценам. Стоимость будет зависеть от конкретной специальности, года выпуска и образовательного учреждения. Всегда стараемся поддерживать для покупателей адекватную ценовую политику. Важно, чтобы дипломы были доступными для большого количества граждан.
military-lip-b05.notion.site/f82a27b820314e24b42a5ea7bdd28c59/
Рады оказать помощь!
Lorem Ipsum has been the industry’s standard dummy text https://gymnasium-ramsloh.de/smgkk of type and scrambled it to make a type specimen book.
Привет!
Приобрести документ института можно в нашем сервисе.
diploms-x.com/kupit-diplom-magistra
Успехов в учебе!
Привет, друзья!
Купить документ о получении высшего образования можно в нашей компании в столице.
diplomasx24.ru/kupit-diplom-o-srednem-obrazovanii
Успешной учебы!
Привет!
Приобрести документ о получении высшего образования можно у нас.
asxdiplomik24.ru/kupit-diplom-bakalavra-ili-specialista
Україна останні новини https://lentanews.kyiv.ua головні новини та останні події