前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
Everything is very open and very clear explanation of issues. was truly information.Seo Paketi Skype: By_uMuT@KRaLBenim.Com -_- live:by_umut
Thank you great posting about essential oil. Hello Administ . Seo Paketi Skype: By_uMuT@KRaLBenim.Com -_- live:by_umut
Привет!
Заказать документ ВУЗа можно в нашем сервисе.
ast-diploms24.ru/kupit-diplom-voronezh
Успехов в учебе!
Добрый день!
Приобрести диплом любого университета.
rkiyosaki.ru/discussion/9668/obshirnyy-assortiment-dokumentov-v-znamenitom-onlaynmagazine/
Lorem Ipsum has been the industry’s standard dummy text https://puszystykocyk.pl/qrxeynq of type and scrambled it to make a type specimen book.
Привет, друзья!
Как получить диплом техникума с упрощенным обучением в Москве официально
mandiplomikx.ru
Привет, друзья!
Купить диплом о среднем образовании в Москве и любом другом городе
mans-diplom.ru
Здравствуйте!
Как не стать жертвой мошенников при покупке диплома о среднем полном образовании
mans-diploms.ru
Привет, друзья!
Мы изготавливаем дипломы любой профессии по приятным ценам.
diplomman.ru
Добрый день!
Приобрести документ ВУЗа вы имеете возможность в нашей компании в Москве.
ast-diplomas.com/kupit-diplom-moskva
Хорошей учебы!
Авто статті https://automobile.kyiv.ua з порадами з ремонту та обслуговування, авто блог з професійними порадами, огляди новинок
Lorem Ipsum has been the industry’s standard dummy text https://maiphai.pl/wzlimq of type and scrambled it to make a type specimen book.
provigil from canada
Привет, друзья!
Купить документ ВУЗа вы можете у нас в Москве.
asxdiplomik.com/kupit-diplom-specialistaВ
Здравствуйте!
Где купить диплом специалиста?
bedfordfalls.live/read-blog/75950
Здравствуйте!
Где приобрести диплом специалиста?
gamereleasetoday.com/купить-диплом-гознак-надежные-решени/
Lorem Ipsum has been the industry’s standard dummy text https://npf-paker.es/yccvvq of type and scrambled it to make a type specimen book.
Привет!
Заказать диплом о высшем образовании.
x70795vj.beget.tech/2024/07/07/chetyre-osnovnyh-gruppy-onlayn-magazinov-realizuyuschih-diplomy.html
Слимофор https://slymofor.ru инновационное средство для быстрого похудения.
Привет, друзья!
Мы можем предложить дипломы любых профессий по приятным ценам.
mans-diplomxx.ru
Привет, друзья!
Мы можем предложить дипломы психологов, юристов, экономистов и любых других профессий по приятным ценам.
mans-diplomxx.ru
Добрый день!
Мы изготавливаем дипломы любых профессий по выгодным тарифам.
mans-diplomyxx.ru
Здравствуйте!
Купить документ ВУЗа вы можете в нашей компании.
ast-diplomy.com/kupit-diplom-chelyabinsk
Добрый день!
Приобрести документ института можно в нашей компании в Москве.
diplomyx.com/otzyvy
Успехов в учебе!
Щоденні новини https://autoinfo.kyiv.ua із автомобільного середовища. Поради автоаматорам. Тест-драйви
Сериал “911: Служба спасения” рассказывает о работе сотрудников экстренных служб Лос-Анджелеса, включая пожарных, медиков и операторов 911. Они ежедневно сталкиваются с опасными ситуациями, спасая жизни и решая сложные личные проблемы. Смотрите онлайн в хорошем качестве HD, бесплатно, все сезоны.
В нашем интернет магазине https://shop-uggs.ru представлен широкий ассортимент оригинальных женских, мужских и детских UGG Australia. Вы можете купить угги у нас в Москве, а так же с доставкой по России без предоплаты. Мы привозим 2 пары обуви на примерку, вы сможете сначала примерить уги и только потом оплачивать те угги которые вам подошли.
Официальный сайт по продаже оригинальных кроссовок изи буст https://yeezy-boost-shop.ru в Москве. Мы продаем yeezy boost оригинал с доставкой по всей России. В нашей линейке есть такие модели Adidas yeezy 350, yeezy 500, yeezy slide.
Добрый день!
Удивительно, но купить диплом кандидата наук оказалось не так сложно
gaiassulin.com/диплом-о-среднем-образовании-как-и-где.html
Будем рады вам помочь!.
Привет!
Полезная информация как официально купить диплом о высшем образовании
landik-diploms-srednee.ru/kupit-diplom-v-ekaterinburge В
Здравствуйте!
Заказать документ о получении высшего образования
diploms-x24.ru/otzyvy
Добрый день!
Мы можем предложить дипломы психологов, юристов, экономистов и прочих профессий.
diplom51.ru/gde-bezopasno-kupit-diplom-bez-riskov-i-problem-v-2024-godu/
Будем рады вам помочь!.
Здравствуйте!
Приобретение диплома ПТУ с сокращенной программой обучения в Москве
mans-diplomy.ru
Привет, друзья!
Купить диплом о высшем образовании.
w98804oc.beget.tech/2024/07/04/kak-nayti-proverennyy-internet-magazin-s-ogromnym-vyborom-diplomov.html
Lorem Ipsum has been the industry’s standard dummy text https://yeswemotion.es/unmoqg of type and scrambled it to make a type specimen book.
Добрый день!
Мы изготавливаем дипломы любых профессий по приятным тарифам.
diplomyx-man.ru
I used to be able to find good advice from your articles.
Привет!
Купить документ о получении высшего образования вы можете у нас.
diplomyx24.ru/kupit-diplom-krasnoyarsk
Успехов в учебе!
Привет, друзья!
Приобрести документ института вы имеете возможность у нас.
diplomyx24.ru/kupit-diplom-nizhnij-novgorod
Хорошей учебы!
Здравствуйте!
Мы готовы предложить дипломы любых профессий.
forexgroupx.ru/vyisshee-obrazovanie-dlya-vas-nadezhno-i-legalno
Рады оказать помощь!.
Привет!
Мы изготавливаем дипломы любой профессии.
advancedservicecorp.com/дипломы-купить-одесса/
Рады помочь!.
Привет!
Где приобрести диплом специалиста?
bedfordfalls.live/read-blog/75950
Привет!
Мы изготавливаем дипломы любой профессии.
http://www.meisterbook.com/read-blog/15101_vybiraem-proverennyj-onlajn-magazin-s-diplomami.html?mode=day
Рады помочь!.
классное порево бесплатно классное порево бесплатно .
Thanks for the auspicious writeup. It if truth be told was a entertainment account it.
Look advanced to more brought agreeable from you! However, how can we be in contact?
Привет, друзья!
Всё, что нужно знать о покупке аттестата о среднем образовании
korrespondentweek.ru/kupit-diplomyi-s-polnoy-garantiey-kachestva/
Здравствуйте!
Приобрести диплом ВУЗа.
drevtorg.xyz/profiles/blogs/6382903:BlogPost:356801
albuterol 108 mcg
Здравствуйте!
Полезные советы по безопасной покупке диплома о высшем образовании
bankendigital.de/купить-диплом-в-ессентуки/
Привет, друзья!
Мы готовы предложить дипломы любой профессии по приятным ценам.
http://www.ldkladno.cz/test/2024/06/30/диплом-специалиста-2011-2013-видео/