前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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-man.ru
payday loan
medicine in mexico pharmacies: mexican border pharmacies shipping to usa – purple pharmacy mexico price list
reputable mexican pharmacies online: buying prescription drugs in mexico online – mexico drug stores pharmacies
payday loan
purple pharmacy mexico price list: mexican mail order pharmacies – medication from mexico pharmacy
ventolin for sale uk
medicine in mexico pharmacies: mexico drug stores pharmacies – medicine in mexico pharmacies
The gripping story of Stephen Curry’s https://golden-state-warriors.stephencurry-fr.com difficult journey to becoming an NBA superstar and the leader of the undefeated Golden State Warriors dynasty.
casino online gama https://barschool.ru/
medication from mexico pharmacy: buying prescription drugs in mexico online – mexican rx online
pharmacies in mexico that ship to usa: buying prescription drugs in mexico online – reputable mexican pharmacies online
Apple iPhone 14 купить в Москве, низкие цены на оригинал новый: Iphone Ivus — интернет-магазин оригинальных смартфонов Apple iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max.
mexican pharmaceuticals online: п»їbest mexican online pharmacies – mexico pharmacies prescription drugs
Натяжные потолки https://stroydim.co.ua под ключ. Гипоаллергенные, без запаха. Бесплатный замер и визуализация дизайна. Натяжные потолки – всегда выгодные предложения, привлекательные цены
mexican mail order pharmacies: mexican rx online – buying from online mexican pharmacy
Привет!
Приобрести диплом о высшем образовании.
logan.in.ua/people/user/7276/blog/7929
best online pharmacies in mexico: п»їbest mexican online pharmacies – pharmacies in mexico that ship to usa
Привет!
Купить диплом о высшем образовании.
c90226sl.beget.tech/2024/07/09/kupit-diplom-opyt-i-professionalizm/
Привет!
Купить диплом о высшем образовании.
bezmotora72.ru/club/user/13/blog/7704/
mexican rx online: mexico pharmacies prescription drugs – reputable mexican pharmacies online
Добрый день!
Полезная информация как купить диплом о высшем образовании без рисков
property25.org/где-купить-диплом-о-высшем-образовани
Будем рады вам помочь!.
Привет, друзья!
Купить диплом ВУЗа.
woorichat.com/read-blog/829
buying from online mexican pharmacy: buying from online mexican pharmacy – buying prescription drugs in mexico
Добрый день!
Мы готовы предложить дипломы любых профессий.
cryptomoneypy.com/сестринское-дело-купить-диплом-о
Будем рады вам помочь!.
best online pharmacies in mexico: п»їbest mexican online pharmacies – best online pharmacies in mexico
mexican online pharmacies prescription drugs mexico drug stores pharmacies mexican border pharmacies shipping to usa
Привет!
Заказать документ о получении высшего образования можно у нас в столице. Мы предлагаем документы об окончании любых университетов Российской Федерации. Вы сможете получить диплом по любым специальностям, любого года выпуска, в том числе документы образца СССР. Даем 100% гарантию, что в случае проверки документов работодателями, подозрений не появится.
Мы можем предложить дипломы психологов, юристов, экономистов и любых других профессий по приятным ценам. Стоимость будет зависеть от выбранной специальности, года выпуска и образовательного учреждения. Всегда стараемся поддерживать для покупателей адекватную политику цен. Для нас важно, чтобы документы были доступными для подавляющей массы наших граждан.
watucowalu.cavandoragh.org/rassirennoe-opisanie-priobretenia-diploma-v-internet-magazine
Рады помочь!
purple pharmacy mexico price list: mexican online pharmacies prescription drugs – mexico drug stores pharmacies
mexican mail order pharmacies: mexico pharmacies prescription drugs – medicine in mexico pharmacies
Откройте для себя Оболонь: сердце Киева, погрузитесь.
Где найти лучшие кафе на Оболони?, интересные.
Оболонь: идеальное место для жизни, с его особенностями.
Что делать на Оболони в выходные?, узнайте.
Набережная Оболони: лучшие места для отдыха, прогулки на велосипеде.
Оболонь с детьми: идеи для досуга, узнайте.
Культура Оболони: что узнать?, интересные факты.
Ночная жизнь на Оболони: какие клубы посетить?, познакомьтесь.
Оболонь: лучшие парки и скверы, природой.
Оболонь: увлекательная история района, откройте.
Оболонь в цифрах: интересные факты, узнайте.
Оболонь: символы и образы района, обсудите.
Гастрономическое путешествие по Оболони, вкусы.
Развлечения для подростков на Оболони, откройте.
Что делать на Оболони летом?, посетите.
Как добраться до Оболони?, познакомьтесь.
Путеводитель по Оболони: что стоит знать, к отдыху.
Оболонь: от старинных улиц до современных зданий, узнайте.
сто київ сто київ .
reputable mexican pharmacies online buying prescription drugs in mexico online mexican online pharmacies prescription drugs
mexican mail order pharmacies: п»їbest mexican online pharmacies – reputable mexican pharmacies online
Привет, друзья!
Приобрести диплом о высшем образовании.
flerus-shop.hcp.dilhost.ru/club/user/3/forum/message/861/857
mexican pharmaceuticals online: mexico drug stores pharmacies – buying prescription drugs in mexico online
Здравствуйте!
Купить диплом о высшем образовании.
bakinsky-dvorik.ru/club/user/127071/blog/4731
mexican mail order pharmacies: mexican rx online – mexican rx online
medicine in mexico pharmacies: mexican border pharmacies shipping to usa – mexico pharmacies prescription drugs
mexican pharmacy mexico drug stores pharmacies mexican drugstore online
mexican rx online: buying prescription drugs in mexico – mexico pharmacies prescription drugs
buying from online mexican pharmacy mexican online pharmacies prescription drugs mexican rx online
Привет, друзья!
Купить документ института можно в нашем сервисе.
diploms-x24.ru/kupit-diplom-omsk
Успехов в учебе!
Здравствуйте!
Процесс получения диплома стоматолога: реально ли это сделать быстро?
sex8.zone/home.php?mod=space&uid=9145316&do=profile
Рады оказать помощь!.
The fascinating story of how legendary football player Lionel Messi https://inter-miam.lionelmessi-tr.com opened a new page in his MLS career by leading Inter Miami to the championship.
Infatuation may be over in a flash or last for weeks and months.Feelings of love may emerge early on in the relationship or may take time to evolve.ラブドール エロ
Добрый день!
Мы предлагаем дипломы психологов, юристов, экономистов и прочих профессий по выгодным тарифам.
karhu.blueaddlution.com/2024/07/13/купить-диплом-моториста
where to buy tretinoin cream online
Здравствуйте!
Сколько стоит диплом высшего и среднего образования и как его получить?
diplomyx-man.ru
Добрый день!
Где приобрести диплом специалиста?
http://www.marqueze.net/miembros/billyoung/profile/classic/
mexican online pharmacies prescription drugs [url=https://mexicandeliverypharma.online/#]mexico pharmacies prescription drugs[/url] mexican online pharmacies prescription drugs