用Qt显示半透明/不规则形状的窗户
发布时间:2020-12-13 19:40:50 所属栏目:Windows 来源:网络整理
导读:可以用Qt显示半透明和/或不规则形状的窗户吗? (我假设它最终取决于底层GUI系统的功能,但让我们假设至少Windows XP / Mac OS X) 如果是这样,怎么做到这一点? 是的,这是可能的.关键是QWidget的Qt :: WA_TranslucentBackground属性 这是一个简单的类,绘制一个
可以用Qt显示半透明和/或不规则形状的窗户吗?
(我假设它最终取决于底层GUI系统的功能,但让我们假设至少Windows XP / Mac OS X) 如果是这样,怎么做到这一点?
是的,这是可能的.关键是QWidget的Qt :: WA_TranslucentBackground属性
这是一个简单的类,绘制一个圆形半透明窗口,红色背景50%alpha. TranslucentRoundWindow.h: #include <QWidget> class TranslucentRoundWindow : public QWidget { public: TranslucentRoundWindow(QWidget *parent = 0); virtual QSize sizeHint() const; protected: virtual void paintEvent(QPaintEvent *paintEvent); }; TranslucentRoundWindow.cpp: #include <QtGui> #include "TranslucentRoundWindow.h" TranslucentRoundWindow::TranslucentRoundWindow(QWidget *parent) : QWidget(parent,Qt::FramelessWindowHint) { setAttribute(Qt::WA_TranslucentBackground); } QSize TranslucentRoundWindow::sizeHint() const { return QSize(300,300); } void TranslucentRoundWindow::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); painter.setPen(Qt::NoPen); painter.setBrush(QColor(255,127)); painter.drawEllipse(0,width(),height()); } 如果您想要使用鼠标移动此窗口,则必须覆盖mousePressEvent,mouseMoveEvent和mouseReleaseEvent. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2008 – “右键单击文件”会更新其上次访问
- windows – _EPROCESS对象和_KPROCESS对象有什么区别
- 如何在Windows Mobile 6下将Flash游戏嵌入到Windows Forms
- 什么是Windows服务器相当于iptables?
- windows-server-2008 – Https可以在没有证书的情况下工作吗
- Windows Mobile中的非闭合关闭按钮(使用Qt开发)
- 设计 – 助记符的Windows标准
- Windows?2000?Professional?中?II
- windows-server-2008-r2 – 如何在Windows Server上跟踪文件
- windows – 有没有办法在32位计算机上执行64位程序?
推荐文章
站长推荐
- 如何通过名称引用Windows窗体控件(C#/ VB)
- windows-server-2003 – 就MSMQ而言,独立客户端和
- windows下开发并编译PHP扩展的方法
- windows – SVN,Apache,Win7 x64 – 在哪里可以找
- windows – 当接口#变化时,如何为VPN添加持久路由
- windows-8 – Metro Style应用程序:WinJS必须?
- windows – 如何检查管理员是否已查看安全审核日
- 在Windows下Emacs糟糕的字体渲染
- windows-server-2003 – “工作站”和“服务器”
- 如何将Windows 2003 Server计划任务移动/复制到W
热点阅读