QGraphicsEffect 可以实现QWidget的特效,QT内置实现了几个常用的特效类,如下:
不仅可以用到QWidget上,还可以应用到其他的可绘制设备上,例如QPixmap等。
3.保存窗口状态
saveGeometry()和restoreGeometry(),相对应的还有QMainWindow用来保存贴边窗口等状态的接口。saveState()和restoreState()
都是用来序列化窗口状态的。
4.针对复杂的上下文菜单QInputContext
QInputContext可以针对QWidget进行定制也可以针对QApplication来进行定制。
void QApplication::setInputContext ( QInputContext * inputContext )
void QWidget::setInputContext ( QInputContext * context )
可以查看inputpanel例子。
5.窗口形状的定制,可以定制出任意形状的窗口,类似切割了的游戏登陆界面等。
6.控制限制输入的暗示
void setInputMethodHints (
Qt::InputMethodHints hints );
Qt::InputMethodHints inputMethodHints ()
const;
这个接口仅仅与输入的Widget相关,如果想要特定的限制方式,应该采用QValidator来加以控制。
7.设置窗口样式和设置QApplication的统一样式
void QWidget::setStyle ( QStyle * style )
QStyle * QWidget::style () const
8.设置窗口的样式表单,使用CSS样式表单来设置QT的窗口样式。
QString |
styleSheet () const |
void |
setStyleSheet ( const QString & styleSheet ) |
9.将QWidget的绘制渲染到另外一个可绘制设备上。
void QWidget::render ( QPaintDevice * target, const QPoint & targetOffset =
QPoint(), const QRegion & sourceRegion = QRegion(), RenderFlags renderFlags =
RenderFlags( DrawWindowBackground | DrawChildren ) )
使用渲染标识符从源设备渲染到目标设备。
10.scroll,滚动窗口的像素坐标位置。
这里特别需要注意的是scroll()函数的调用,只能在paintEvent中调用,其他时候调用时不起作用的。