当前位置:网站首页>QT笔记——在一个窗口上显示另外一个透明窗口
QT笔记——在一个窗口上显示另外一个透明窗口
2022-08-02 10:59:00 【旧街凉风°】
在一个父窗口上 的某个位置,显示 一个透明窗口 (窗口透明,但是控件不透明)
一开始试了很多种的透明方式 ,有些可以,有些不可以,会有黑边背景。
透明的 几种方式
在子窗口 的 构造函数中写上
SubWidget.cpp
//设置窗口透明
setAttribute(Qt::WA_TranslucentBackground);
//设置无边窗体 并且为 tool的模式
setWindowFlags(Qt::FramelessWindowHint | Qt::Tool);
在父窗口的 构造函数中写上 显示
MainWidget.cpp
new出 子窗口 然后展示出来 ,移动到父窗口的某个位置(位置根据自己需要定)
SubWidget * widget = new SubWidget (this);
widget->move(300,400);
widget->show();
这样虽然可以实现 让子窗口透明 ,而且位置显示正确,但是我们发现还是有问题的,
因为当我们移动父窗口的 时候,子窗口没有移动,这时候,我们就需要实时改变位置(根据父窗口的位置)
我们可以在paintEvent事件中 获取窗口的位置 ,然后 发送位置 ,让子窗口不断的刷新移动
void myLabel::paintEvent(QPaintEvent* event)
{
Q_UNSED(event);
update();
widget->move(this->mapToGlobal(QPoint(this->x()+ 300,this->y() + 400));
}
参考博客:
在另外一个窗口上 显示 子窗口
边栏推荐
猜你喜欢
365天挑战LeetCode1000题——Day 047 设计循环队列 循环队列
How to choose a truly "easy-to-use, high-performance" remote control software
Nanny Level Tutorial: Write Your Own Mobile Apps and Mini Programs (Part 2)
LeetCode每日一练 —— 225. 用队列实现栈
超赞!发现一个APP逆向神器!
You Only Hypothesize Once: 用旋转等变描述子估计变换做点云配准(已开源)
C#/VB.NET to add more lines more columns image watermark into the Word document
外包学生管理系统架构文档
博云入选Gartner中国DevOps代表厂商
阿里CTO程立:阿里巴巴开源的历程、理念和实践
随机推荐
Hongxing, donate another million
Com多进程通信实现
21年毕业转行软件测试,从0收入到月薪过万,我真的很幸运...
利用二维数据学习纹理三维网格生成(CVPR 2020)
配置mysql失败了,这是怎么回事呢?
Mysql环境变量的配置(详细图解)
开箱即用-使用异步加载布局来优化页面启动速度的几种方案
21天学习挑战赛--第一天打卡(屏幕密度)
Oracle超全SQL,细节狂魔
2022年8月初济南某外包公司全栈开发面试题整理
太帅了!我用炫酷大屏展示爬虫数据!
LayaBox---TypeScript---模块解析
3年测试在职,月薪还不足2w,最近被裁员,用亲身经历给大家提个醒...
循环结构--while循环
字节跳动软件测试岗,收到offer后我却拒绝了~给面试的人一些忠告....
LayaBox---TypeScript---Module Analysis
Nanny Level Tutorial: Write Your Own Mobile Apps and Mini Programs (Part 2)
8年软件测试工程师的感悟:与薪资相匹配的永远是实力
行为型模式-策略模式
流动性质押挖矿系统开发如何制作?单双币系统开发成熟技术