前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。
目录
效果
思路
- 创建一个子窗口
- 将子窗口去掉窗口标题栏,设置背景透明
- 在里面放文本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("嘿嘿,我的洛天依");
}
}
}
问题
- 这个弹幕会被其他高层次的窗口遮挡,显然问题在于我们创建的窗口不是顶层窗口,这个后面再看看咋整。
Привет!
Мы изготавливаем дипломы психологов, юристов, экономистов и других профессий.
woaibanli.com/диплом-купить-ветеринария
Рады оказаться полезными!.
baclofen cream india
Добрый день!
Купить документ о получении высшего образования вы можете у нас в столице.
ast-diplomas.com/kupit-diplom-perm
Привет, друзья!
Купить документ ВУЗа можно у нас в столице.
asxdiplomik.com/kupit-diplom-o-vysshem-obrazovanii
Добрый день!
Купить документ университета можно в нашей компании.
ast-diplom.com/kupit-diplom-tehnikuma-kolledzha
medicine in mexico pharmacies: best online pharmacies in mexico – buying prescription drugs in mexico
reputable mexican pharmacies online: medication from mexico pharmacy – mexico drug stores pharmacies
mexico drug stores pharmacies: buying from online mexican pharmacy – mexican border pharmacies shipping to usa
mexico pharmacy buying from online mexican pharmacy mexican border pharmacies shipping to usa
видео стена http://www.videosteny-pod-kljuch.ru/ .
Привет, друзья!
Купить документ о получении высшего образования вы имеете возможность в нашей компании в Москве.
diploms-x24.ru/kupit-diplom-magistra
Успехов в учебе!
mexican border pharmacies shipping to usa: medication from mexico pharmacy – medicine in mexico pharmacies
mexico pharmacies prescription drugs mexico drug stores pharmacies medicine in mexico pharmacies
Find out how Olivier Giroud https://los-angelesfc.olivier-giroud.net went from young talent in France to star of MLS, from Grenoble to Los Angeles FC.
Discover Thierry Henry’s https://arsenal.thierry-henry-fr.com journey at Arsenal, from his early years to his legendary status, his later struggles and his farewell to the club.
Find out how Eric Cantona https://manchester-united.eric-cantona.com became a Manchester United legend, his influence on the club, his career, his scandals and his unique style of play.
Привет!
Узнайте стоимость диплома высшего и среднего образования и процесс получения
arusak-diploms-srednee.ru/kupit-diplom-v-nizhnem-novgorode
Добрый день!
Купить документ ВУЗа
ast-diplomy24.ru/kupit-diplom-rostov-na-donu
игры на андроид скачать игры на андроид скачать .
Здравствуйте!
Приобрести диплом любого ВУЗа.
ingprint.ru/club/user/58725/forum/message/6909/203474
Здравствуйте!
Быстрое обучение и получение диплома магистра – возможно ли это?
ayurastroyoga.com/настоящий-диплом-как-и-где-купить
Поможем вам всегда!.
eye glasses are not only stylish but they can also protect your eyes from contaminants”
pharmacies in mexico that ship to usa: medication from mexico pharmacy – mexico pharmacies prescription drugs
buying prescription drugs in mexico: buying prescription drugs in mexico – purple pharmacy mexico price list
mexican drugstore online п»їbest mexican online pharmacies reputable mexican pharmacies online
Добрый день!
Мы изготавливаем дипломы любых профессий по доступным тарифам.
alfardanmotorcycles.com/диплом-техникума-колледжа-ссср-фото
Добрый день!
Мы готовы предложить дипломы любой профессии по приятным тарифам.
gamemotors.ru/nastoyashhie-diplomyi-dostupno-i-bezopasno
п»їbest mexican online pharmacies: buying prescription drugs in mexico – medicine in mexico pharmacies
Привет, друзья!
Приобрести документ о получении высшего образования вы имеете возможность в нашей компании в Москве.
ast-diplomas24.ru/kupit-diplom-magistra
Удачи!
buying prescription drugs in mexico online: medication from mexico pharmacy – mexican drugstore online
mexico pharmacies prescription drugs: buying prescription drugs in mexico online – medication from mexico pharmacy
mexican pharmacy reputable mexican pharmacies online mexican pharmaceuticals online
mexican border pharmacies shipping to usa buying prescription drugs in mexico online buying from online mexican pharmacy
mexican pharmaceuticals online: mexican online pharmacies prescription drugs – pharmacies in mexico that ship to usa
Здравствуйте!
Быстрое обучение и получение диплома магистра – возможно ли это?
mans-diploms.ru
Lorem Ipsum has been the industry’s standard dummy text https://guacamayaproducciones.es/zyrcz of type and scrambled it to make a type specimen book.
reputable mexican pharmacies online: mexican mail order pharmacies – mexican drugstore online
AI Nude Generator https://ainudegenerator.app Transform Photos with AI Nude App.
Добрый день!
Приобрести документ института вы можете у нас в Москве.
diplomyx.com/kupit-diplom-specialista
https://mexicandeliverypharma.online/# mexican border pharmacies shipping to usa
reputable mexican pharmacies online [url=https://mexicandeliverypharma.com/#]best online pharmacies in mexico[/url] pharmacies in mexico that ship to usa
medication from mexico pharmacy reputable mexican pharmacies online pharmacies in mexico that ship to usa
mexican online pharmacies prescription drugs mexico drug stores pharmacies mexican border pharmacies shipping to usa
mexican online pharmacies prescription drugs: buying from online mexican pharmacy – mexican rx online
mexican online pharmacies prescription drugs mexico pharmacy mexico pharmacy
Lorem Ipsum has been the industry’s standard dummy text https://texiprint-imprenta.es/qqhmsw of type and scrambled it to make a type specimen book.
Привет!
Купить диплом старого образца, можно ли это сделать по быстрой схеме?
remotebillpay.com/купить-диплом-о-высшем-образовании-ре
Поможем вам всегда!.
Привет, друзья!
Заказать документ о получении высшего образования вы имеете возможность в нашей компании в Москве.
asxdiplomik24.ru/kupit-diplom-omsk
Успешной учебы!
purple pharmacy mexico price list: п»їbest mexican online pharmacies – mexican border pharmacies shipping to usa
medicine in mexico pharmacies: mexican rx online – best online pharmacies in mexico