Qt paintEvent绘制窗体 注意Qt::WA_PaintOutsidePaintEvent 只是适用于X11,其他系统均无效
2017-02-03 07:14
567 查看
QPainter默认只能在paintEvent里面调用,但是:
在其他事件中绘制窗体,提示信息如下:
QPainter::begin: Paint device returned engine == 0, type: 1
绘制操作应该在paintEvent中完成.
有一个属性值,在构造函数中设置可以在paintEvent()之外进行绘制:
this->setAttribute(Qt::WA_PaintOutsidePaintEvent);
但是只支持X11,对于 Windows, Mac OS X or Embedded Linux。。。。不予支持
void xx::paintEvent(QPaintEvent *p)
{
painter.begin(this);
painter.drawImage(image);
painter.end();
}
http://www.cppblog.com/lauer3912/archive/2011/08/30/154746.html
在其他事件中绘制窗体,提示信息如下:
QPainter::begin: Paint device returned engine == 0, type: 1
绘制操作应该在paintEvent中完成.
有一个属性值,在构造函数中设置可以在paintEvent()之外进行绘制:
this->setAttribute(Qt::WA_PaintOutsidePaintEvent);
但是只支持X11,对于 Windows, Mac OS X or Embedded Linux。。。。不予支持
void xx::paintEvent(QPaintEvent *p)
{
painter.begin(this);
painter.drawImage(image);
painter.end();
}
http://www.cppblog.com/lauer3912/archive/2011/08/30/154746.html
相关文章推荐
- Qt paintEvent绘制窗体
- Qt PaintEvent 绘制窗体背景图片
- QT 绘制按钮 paintEvent enterEvent leaseEvent mouseEvent
- 简单的QT绘图程序(把全部的点都记录下来,然后在paintEvent里使用drawLine函数进行绘制,貌似效率很低。。。)
- 简单的QT绘图程序(把全部的点都记录下来,然后在paintEvent里使用drawLine函数进行绘制,貌似效率很低。。。)
- VC里OnPaint几点要注意的地方(没有invalidate,系统认为窗口没有更新的必要,于是就对发来的WM_PAINT消息不理不睬)
- QT的Paint 系统
- QT之paintEvent事件
- Qt paintevent事件
- Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式
- C# 绘制窗体客户非客户区要用WM_PAINT和WM_NCPAINT
- windows7 64位系统安装QT4.8.0离线版时,应注意设置XP兼容模式,否则安装过程会出错
- QT的Paint 系统
- QT之桌面精灵实现(一) --- 透明窗体和图片绘制
- QT的Paint 系统
- paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制
- QT的Paint 系统
- The Paint System(翻译qt绘图系统)
- Qt paintEvent和QTimer更新的问题
- 实现:C#窗体中的文本框只能输入中文汉字,其他输入无效。问:正则表达式怎么用?