1.QWidget对事件的抓取和放手。主要有例如以下几个接口

grabGesture 抓取输入手势

ungrabGesture 取消抓取手势

grabKeyboard 抓取键盘输入

grabMouse 抓取鼠标输入

releaseKeyboard 取消键盘输入

releaseMouse 取消鼠标输入

grabShortcut 抓取快捷键,须要设置setShortcutEnabled(true);

releaseShortcut 取消抓取快捷键


2.QWidget的特效

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.窗体形状的定制,能够定制出随意形状的窗体。类似分割了的游戏登陆界面等。

void QWidget::setMask ( const QBitmap & bitmap )

void QWidget::setMask ( const QRegion & region )

能够查看QT的Shaped Clock Example样例


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中调用,其它时候调用时不起作用的。






深入学习QWidget-1的更多相关文章

  1. GUI学习之四——QWidget控件学习总结

    上一章将的QObject是PyQt里所有控件的基类,并不属于可视化的控件.这一章所讲的QWidget,是所有可视化控件的基类. QWidget包含下面几点特性 a.控件是用户界面的最小的元素 b.每个 ...

  2. PyQt(Python+Qt)学习随笔:利用QWidget部件的palette以及ColorGroup、colorRole局部调整部件的特定范围颜色

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<PyQt(Python+Qt)学习随笔:QWidget部件的 ...

  3. PyQt学习随笔:QWidget的QFont的kerning、Antialiasing属性用途

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 引言 在Designer中,QWidget的font属性有两个比较陌生 ...

  4. PyQt(Python+Qt)学习随笔:QWidget部件的palette属性以及ColorGroup、colorRole的用途和含义

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 1.palette属性 QWidget部件的palette属性用于控制 ...

  5. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

  6. QWidget属性,函数的学习

    我把所有属性重新按功能排了一遍,这样才能灌到自己脑子里,并且方便自己以后查找: -------------------- 颜色/渲染方式 -----------------------QWidget: ...

  7. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  8. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  9. 【Qt学习笔记】窗口部件整理

    关于Qt中窗口部件的学习 今天开始学习Qt的窗口部件,领略一下Qt的神奇之处,记得2012年的那年冬天,我还学Java呢,现在基本上和Java说再见了,不过对于嵌入式的开发Qt还是举足轻重的,我想趁着 ...

  10. OpenGL学习笔记5——嵌入Qt框架

    学习OpenGL也有段时间了,前几篇将GL最基本的画图过程解析了一下,后面进阶的就随项目需要再学.因为之前一直是用glut这个实用工具包来开发很方便,但是会附带一个控制台的窗口,实在觉得有些low,因 ...

随机推荐

  1. 【VBA编程】14.操作工作簿对象

    [访问工作簿] 对已经打开的工作簿,可以通过使用索引号来访问工作簿,也可以通过名称来访问工作簿 [代码区域] Sub 访问工作簿() Dim counter As Integer counter = ...

  2. 整站下载工具Teleport Pro

    http://zmingcx.com/download-tools-teleport-pro-full-stop.html Teleport Pro是一款功能强大的离线浏览器,不论规模多大的网站,只要 ...

  3. struts过滤器的不同2.16以后应该是: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 2.12以前应该是org.apache.struts2.dispatcher.Filterdispatcher

    版本不同过滤器不同.2.16以后应该是:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter2.12以前应该是or ...

  4. vue 基础-->进阶 教程(2): 指令、自定义指令、组件

    第二章 建议学习时间4小时  课程共3章 前面的nodejs教程并没有停止更新,因为node项目需要用vue来实现界面部分,所以先插入一个vue教程,以免不会的同学不能很好的完成项目. 本教程,将从零 ...

  5. 各种MQTT server功能比較

    this page attempts to document the features that various MQTT servers (brokers) support. This is spe ...

  6. Postman---html中get和post的区别和使用

    get和post的区别和使用 Html中post和get区别,是不是用get的方法用post都能办到? Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DEL ...

  7. mongodb - 集合重命名

    #创建新的集合yb > for(i=0;i<10;i++){db.yb.insert({'i':i})} WriteResult({ "nInserted" : 1 } ...

  8. nginx-1.2.7+tcp_proxy_module负载均衡配置

    对于安装方面不清楚的,可移步 nginx + tcp_proxy_module的安装 参考nginx_tcp_proxy_module的readme文件,对每个定义项都做了详细的描述,tcp{...} ...

  9. UINavigationController 返回按钮去掉文字

    [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetric ...

  10. PHP的CURLOPT_POSTFIELDS参数使用数组和字符串的区别

    手册上解释: CURLOPT_POSTFIELDS  全部数据使用HTTP协议中的"POST"操作来发送.要发送文件,在文件名前面加上@前缀并使用完整路径.这个参数可以通过urle ...