前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
mexican drugstore online purple pharmacy mexico price list reputable mexican pharmacies online
Привет!
Мы изготавливаем дипломы любых профессий по приятным ценам.
woowsent.com/read-blog/58_planiruete-priobresti-attestat-u-nadezhnogo-proizvoditelya-zahodite
mexico drug stores pharmacies: mexican mail order pharmacies – mexico pharmacies prescription drugs
mexico pharmacies prescription drugs: buying from online mexican pharmacy – mexican rx online
Привет, друзья!
Мы изготавливаем дипломы любых профессий.
amcall.net/read-blog/338_nadezhnyj-onlajn-magazin-s-obshirnym-katalogom-dokumentov
Рады оказать помощь!.
mexican mail order pharmacies: mexican drugstore online – mexican pharmaceuticals online
medicine in mexico pharmacies: п»їbest mexican online pharmacies – purple pharmacy mexico price list
mexico pharmacy mexican mail order pharmacies pharmacies in mexico that ship to usa
mexico drug stores pharmacies mexico drug stores pharmacies mexican mail order pharmacies
Здравствуйте!
Мы изготавливаем дипломы любой профессии по приятным ценам. Цена может зависеть от конкретной специальности, года получения и образовательного учреждения. Всегда стараемся поддерживать для заказчиков адекватную ценовую политику. Важно, чтобы дипломы были доступными для подавляющей массы наших граждан.
bookmark-nation.com/story17073977/купить-диплом-о-высшем-цена
mexican border pharmacies shipping to usa buying from online mexican pharmacy buying prescription drugs in mexico
https://mexicandeliverypharma.com/# mexico drug stores pharmacies
buying diflucan without prescription
medication from mexico pharmacy: mexican pharmaceuticals online – purple pharmacy mexico price list
buy viagra online
Здравствуйте!
Приобрести документ о получении высшего образования можно у нас в столице.
diplomyx.com/otzyvy
Хорошей учебы!
Привет!
Официальное получение диплома техникума с упрощенным обучением в Москве
landik-diploms-srednee.ru/kupit-diplom-saratov В
Здравствуйте!
Заказать документ института
asxdiplomik.com/kupit-diplom-vracha
mexican border pharmacies shipping to usa: medication from mexico pharmacy – mexican border pharmacies shipping to usa
mexican border pharmacies shipping to usa: mexican rx online – mexico drug stores pharmacies
https://mexicandeliverypharma.online/# buying prescription drugs in mexico online
Частная платная клиника https://mypsyhealth.ru психиатрии, психологии, психотерапии и наркологии анонимно в Москве.
https://mexicandeliverypharma.com/# mexican mail order pharmacies
Привет!
Возможно ли купить диплом стоматолога, и как это происходит
gaiassulin.com/диплом-о-среднем-образовании-как-и-где.html
Окажем помощь!.
Deep Fake Nudes undress AI with Undress AI and Deepnude
medication from mexico pharmacy: mexican rx online – mexican pharmaceuticals online
п»їbest mexican online pharmacies: best online pharmacies in mexico – buying from online mexican pharmacy
Привет, друзья!
Приобрести документ университета можно в нашей компании в Москве.
diplomasx.com/kupit-diplom-perm
Hi, I want to subscribe for this website to obtain most
up-to-date updates, therefore where can i do it please
help out.
buying from online mexican pharmacy: mexico pharmacies prescription drugs – mexico drug stores pharmacies
pharmacies in mexico that ship to usa: buying from online mexican pharmacy – buying prescription drugs in mexico
mexican drugstore online: mexico drug stores pharmacies – mexican pharmaceuticals online
http://mexicandeliverypharma.com/# mexico drug stores pharmacies
buy viagra online
https://mexicandeliverypharma.online/# pharmacies in mexico that ship to usa
watch porn video
mexican border pharmacies shipping to usa: reputable mexican pharmacies online – buying prescription drugs in mexico online
mexican border pharmacies shipping to usa: mexico drug stores pharmacies – reputable mexican pharmacies online
Привет, друзья!
Как официально купить аттестат 11 класса с упрощенным обучением в Москве
mans-diplomasxx.ru
watch porn video
mexican border pharmacies shipping to usa: mexico drug stores pharmacies – buying prescription drugs in mexico online
buying from online mexican pharmacy: mexico drug stores pharmacies – п»їbest mexican online pharmacies
medication from mexico pharmacy purple pharmacy mexico price list pharmacies in mexico that ship to usa
Здравствуйте!
Купить документ института можно у нас.
diploms-x.com/kupit-diplom-perm
mexico pharmacy mexican border pharmacies shipping to usa best online pharmacies in mexico
Здравствуйте!
Приобрести документ о получении высшего образования вы можете в нашей компании в столице.
ast-diplomas.com/kupit-diplom-vracha
Хорошей учебы!
Добрый день!
Аттестат 11 класса купить официально с упрощенным обучением в Москве
theplaygamepicks.com/диплом-техникума-где-и-как-купить/
Рады оказаться полезными!.
Привет!
Купить документ университета вы сможете у нас.
diplomyx24.ru/kupit-diplom-omsk
Хорошей учебы!
buy viagra online
medication from mexico pharmacy: mexican drugstore online – mexican online pharmacies prescription drugs