Qt 实用技巧

标签: Qt
873人阅读 评论(0) 收藏 举报
分类:

不规则窗口,透明半透明窗口

半透明窗口

设置窗口属性

setWindowFlags(windowFlags() | Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);

绘制带alpha通道的图片

// paintEvent()函数中
QPainter painter(this);
QImage bg("background.png");
painter.drawImage(0, 0, bg);

窗口剪裁区域

剪裁区域

将绘制限制在剪裁区域中,设置一个圆角矩形的剪裁区域

// paintEvent()函数中
QPainter painter(this);
painter.setClipping(true);

QPainterPath clipPath;
clipPath.addRoundedRect(0, 0, width(), height(), 50, 50);
painter.setClipPath(clipPath);

圆角矩形窗口

圆角矩形窗口

设置窗口属性

setWindowFlags(windowFlags() | Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);

绘制圆角矩形
如果什么都不绘制,整个窗口都是透明的,即绘制什么就显示什么,另外alpha通道会影响半透明值

// paintEvent()函数中
QPainter painter(this);
painter.setClipping(true);

QPainterPath roundRect;
roundRect.addRoundedRect(0, 0, width(), height(), 50, 50);
painter.fillPath(roundRect, QBrush(QColor(100, 100, 100)));

待续…

参考

QT 求助怎么 实现圆角窗口的……
http://www.qtcn.org/bbs/read.php?tid=34559

QT实现窗口透明的方法
http://blog.csdn.net/liuwumiyuhuiping/article/details/6955692

查看评论

Qt基础与Qt on Android入门

-
  • 1970年01月01日 08:00

解析Qt自带的Style示例

在之前的QStyle类参考一文中我们介绍到实现自定义样式有两种方法:静态方法和动态方法。我们先介绍静态方法:也就是继承已经存在的类,不是QStyle,通常是QCommonStyle或者是QWindow...
  • imxiangzi
  • imxiangzi
  • 2015-09-01 00:04:58
  • 941

QT 任意区域截图

setWindowFlags(Qt::WindowStaysOnTopHint|Qt::ToolTip); setWindowState(Qt::WindowActive|Qt::WindowFul...
  • jin_huan11
  • jin_huan11
  • 2015-05-18 20:13:20
  • 1868

Qt界面设计常用技巧总结

1. 子窗体或控件,重写paintEvent事件,画边框、背景、文字、图片效果比较好,因为窗口在创建的时候会自动调用paintEvent事件,所以可以在paintEvent事件中初始化一些自定义效果。...
  • andylauren
  • andylauren
  • 2016-08-14 13:31:40
  • 4955

最近使用QT开发的一些心得,技巧

QLineEdit没有获得焦点和失去焦点的信号,需要自定义一个继承自QLineEdit的输入框,并重写focusInEvent以及focusOutEvent事件 protected:     vi...
  • gylxxz86
  • gylxxz86
  • 2012-04-06 10:36:04
  • 5739

Qt开发设置技巧

Qt在开发桌面客户端方面有很多方面做的很好,功能很强大,在免费并能跨平台的开发库里,做到了可以很好的满足一般客户端开发的需求。Qt库不光在界面上,而且在XML解析,JSON数据解析,网络通讯等各个功能...
  • u010807669
  • u010807669
  • 2014-08-16 14:32:38
  • 1022

QT creator使用技巧总结-----/*自己编写*/

1. Qt Creator的代码补全功能。Qt Creator有很强大的代码补全功能,比如输入一个关键字时,只要输入前几个字母,就会弹出相关的关键字的选择列表;输入完一个对象,然后输入点以后,就会弹...
  • phenixyf
  • phenixyf
  • 2017-04-17 18:22:23
  • 1324

Qt 使用小技巧

Qt实用的技巧
  • wujiakainet
  • wujiakainet
  • 2015-06-26 14:25:28
  • 251

QT高级编程技巧(二)-- 编写多线程和并发应用

学习QT多线程编程之前,有必要先熟悉事件循环的概念。先看一个单线程界面程序的主函数代码: int main(int argc, char* argv[]) {   QApplication app(...
  • dpsying
  • dpsying
  • 2018-02-05 17:47:32
  • 60

QT高级编程技巧(一)-- 编写高效的signal & slot通信代码

关于QT的线程通信,我们都会想到signal & slot机制。先回顾下利用signal & slot机制实现控件消息处理的方法。 控件消息处理 假设我们的主界面上有一个使用ui->btn...
  • dpsying
  • dpsying
  • 2018-02-05 17:46:33
  • 92
    个人资料
    持之以恒
    等级:
    访问量: 8万+
    积分: 1119
    排名: 4万+
    个人主页
    最新评论