前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
Здравствуйте!
Наша компания предлагает выгодно заказать диплом, который выполнен на оригинальном бланке и заверен мокрыми печатями, штампами, подписями. Документ пройдет лубую проверку, даже при помощи профессионального оборудования. Достигайте своих целей максимально быстро с нашим сервисом.
play.ntop.tv/index.php?subaction=userinfo&user=ilapogu
Успешной учебы!
Привет!
Как официально купить аттестат 11 класса с упрощенным обучением в Москве
kharkov-balka.com/showthread.php?p=154904#post154904
Рады оказать помощь!.
магазин аккаунтов и ключей http://magazin-akkauntov.ru .
Привет, друзья!
Стоимость дипломов высшего и среднего образования и как избежать подделок
bestworld.getbb.ru/viewtopic.php?f=8&t=1260
Поможем вам всегда!.
cheapest online pharmacy india: online shopping pharmacy india – reputable indian pharmacies
Привет, друзья!
Купить документ университета вы имеете возможность в нашей компании.
ast-diplomas24.ru/kupit-diplom-rostov-na-donu
Успехов в учебе!
canadian drug pharmacy legit canadian online pharmacy best online canadian pharmacy
Привет!
Купить диплом о высшем образовании
arusak-diploms-srednee.ru/kupit-diplom-medicinskogo-uchilishha В
Успешной учебы!
buying prescription drugs in mexico: buying prescription drugs in mexico – buying prescription drugs in mexico online
Здравствуйте!
Купить диплом любого ВУЗа
arusak-diploms-srednee.ru/svidetelstvo-o-brake В
Хорошей учебы!
ed drugs online from canada: canadian pharmacy king – canadian pharmacies online
Добрый день!
Где приобрести диплом по актуальной специальности?
Мы предлагаем документы институтов, которые расположены на территории всей России. Вы сможете приобрести качественно сделанный диплом за любой год, указав подходящую специальность и оценки за все дисциплины. Дипломы делаются на бумаге самого высшего качества. Это дает возможности делать государственные дипломы, которые невозможно отличить от оригиналов. Они будут заверены всеми необходимыми печатями и штампами.
Мы изготавливаем дипломы любой профессии по приятным тарифам.
ast-diploms24.ru/otzyvy
Поможем вам всегда!
world pharmacy india india pharmacy mail order top 10 pharmacies in india
https://canadapharmast.com/# legit canadian pharmacy online
medication from mexico pharmacy: reputable mexican pharmacies online – buying from online mexican pharmacy
Lorem Ipsum has been the industry’s standard dummy text https://constructoraamiel.cl/gjacgbe of type and scrambled it to make a type specimen book.
Привет, друзья!
Как избежать рисков при покупке диплома колледжа или ВУЗа в России.
Приобрести диплом ВУЗа.
d.mwoff.org/index.php?/gallery/image/116-%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5-%D1%86%D0%B5%D0%BD%D1%8B-%D0%B8-%D0%BF%D1%80%D0%B5%D0%BA%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B5-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B9-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC%D1%8B-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD/
reputable indian pharmacies: india pharmacy – online pharmacy india
услуги озвучивания ozvuchivanie-pomeshhenij.ru .
onlinecanadianpharmacy: online canadian pharmacy – canadian pharmacy prices
Добрый день!
Приобрести диплом ВУЗа.
epicit.ru/zakazat-sertifikatyi-o-dopolnitelnom-obuchenii
Успешной учебы!
top online pharmacy india: reputable indian pharmacies – reputable indian online pharmacy
http://foruspharma.com/# mexican online pharmacies prescription drugs
Здравствуйте!
Наша компания предлагает купить диплом высокого качества, который не отличить от оригинального документа без участия специалистов высокой квалификации со сложным оборудованием.
legislador.art.br/forum/viewtopic.php?p=101278#p101278
Удачи!
п»їbest mexican online pharmacies: mexican online pharmacies prescription drugs – mexico pharmacy
Здравствуйте!
Где заказать диплом специалиста?
Заказать диплом о высшем образовании.
lp24.ru/advice/obsirnyi-vybor-dokumentov-v-izvestnom-onlain-magazine
world pharmacy india pharmacy website india buy medicines online in india
reputable canadian pharmacy: my canadian pharmacy review – medication canadian pharmacy
Привет!
Мы готовы предложить документы техникумов, расположенных в любом регионе Российской Федерации. Можно заказать диплом от любого учебного заведения, за любой год, в том числе документы старого образца. Документы выпускаются на бумаге самого высшего качества. Это позволяет делать государственные дипломы, которые невозможно отличить от оригиналов. Они заверяются всеми обязательными печатями и штампами.
viracore.one/read-blog/116
best india pharmacy: indian pharmacy online – indianpharmacy com
Привет, друзья!
Купить документ университета вы сможете в нашем сервисе.
ast-diplomy.com/kupit-diplom-o-srednem-obrazovanii
Успешной учебы!
Привет!
Приобрести документ университета вы можете у нас.
ast-diploms.com/kupit-diplom-rostov-na-donu
Хорошей учебы!
reputable mexican pharmacies online purple pharmacy mexico price list mexican pharmacy
Привет, друзья!
Где приобрести диплом по актуальной специальности?
Мы изготавливаем дипломы психологов, юристов, экономистов и прочих профессий по приятным тарифам. Цена будет зависеть от выбранной специальности, года получения и университета. Всегда стараемся поддерживать для заказчиков адекватную политику цен. Важно, чтобы документы были доступны для большого количества граждан.
Для вас изготавливаем дипломы любых профессий по приятным ценам.
montrealpal.com/read-blog/815_kak-najti-nadezhnyj-magazin-prodayushij-diplomy.html
Будем рады вам помочь!.
Добрый день!
Как приобрести диплом о среднем образовании в Москве и других городах
http://www.pets-ural.ru/content/forum/viewtopic.php?p=79512#79512
Рады помочь!.
clomid 50mg uk
Lorem Ipsum has been the industry’s standard dummy text https://vildtnemt.dk/vinxfxb of type and scrambled it to make a type specimen book.
canadian pharmacy world canadian pharmacy near me best rated canadian pharmacy
Здравствуйте!
Приобрести диплом любого ВУЗа
arusak-diploms-srednee.ru/kupit-diplom-v-rostove-na-donu В
Хорошей учебы!
http://canadapharmast.com/# canadian online pharmacy
top 10 online pharmacy in india top 10 pharmacies in india top online pharmacy india
сколько стоит купить аттестат за 9 класс asxdiplomik24.ru .
https://canadapharmast.com/# canadian drug pharmacy
https://indiapharmast.com/# buy prescription drugs from india
Здравствуйте!
Как приобрести диплом о среднем образовании в Москве и других городах
propusk-spb.ru/index.php?subaction=userinfo&user=ytazetok
Будем рады вам помочь!.
купить дипломы об окончании техникума купить дипломы об окончании техникума .
Excellent post. I am experiencing many of these issues as well..
mexico drug stores pharmacies: mexican mail order pharmacies – buying from online mexican pharmacy
medicine in mexico pharmacies: mexico pharmacy – mexico drug stores pharmacies
Покупка диплома о среднем полном образовании: как избежать мошенничества?
ast-diplomy24.ru/kupit-diplom-omsk