现在位置: 首页 > QWidget
2015-05-26 08:25 工业·编程 ⁄ 共 3727字 暂无评论
在Qt中,键盘事件和QWidget的focus密不可分:一般来说,一个拥有焦点(focus)的QWidget或者grabKeyboard()的QWidget才可以接受键盘事件。 键盘事件派发给谁? 如何确定谁来接收键盘事件,不妨看一点点QApplication的源码: X11下 QETWidget *keywidget=0; bool grabbed=false; if (event->type==XKeyPress || event->type==XKeyRelease) { keywidget = (QETWidget*)QWidget::keyboardGrabber(); ...
阅读全文

2015-05-25 07:21 工业·编程 ⁄ 共 2826字 暂无评论
Qt5下,QWidget系列从QtGui中被剥离出去,成为单独的QtWidget模块。随着Qt Quick2的引入,QtDeclarative也逐渐和QWidget系列也脱离关系。 最终:在Qt5下的GUI编程,有两套不同的东西 QtWidget (使用一个被称为 BackingStore 的东西) QtQuick (使用一个被称为 Scene Graph 的东西) 这两个是什么东西(我还真说不清)?但我们, 不妨先,从根本的QtGui中的QWindow这个东西开始看起,看看QWindow是如何配合QWidget进行工作的...
阅读全文
2015-05-24 07:19 工业·编程 ⁄ 共 1991字 暂无评论
从Qt4.4开始,Alien Widget被引入。那么...这是什么东西呢,我们在使用中又可能会感受到什么东西? 用例子来说话似乎比用源码来说话来得容易,所以看例子: 例子 一个小例子: 创建 a -> b -> c -> d -> e 共5个widget 考虑它们各自的 parentWidget() nativeParentWidget() window() 分别返回什么呢? #include <QtGui> #include <QtCore> class Widget:public QWidget { public: Widge...
阅读全文
2015-05-03 06:36 工业·编程 ⁄ 共 2900字 暂无评论
QMenu和QMenuBar都是QWidget的派生类,按理说也没有什么特别的。只是真的想理清它,似乎还真的不是那么简单... QMenuBar 在漫谈QWidget及其派生类(三)中,我们已经知道:QMenuBar和QStatusBar都是QWidget的派生类,所以我们可以像添加一个QPushButton一样将它们任意放置到另一个QWidget中。 继续看个别的例子: #include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QMenuB...
阅读全文
2015-05-02 06:28 工业·编程 ⁄ 共 3611字 暂无评论
和前面的 一二三四 没有什么连贯性,也没涉及QWidget的派生类,既然是漫谈,我忍了。 相关阅读     ----漫谈QWidget及其派生类(四) 本文内容:QWidget的创建 起点... 看看本文的代码,是不是很失望?这么简单的一个超级入门级小程序,能有什么可看的? #include <QApplication> #include <QWidget> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget w; w.sho...
阅读全文
2015-04-30 04:25 工业·编程 ⁄ 共 3650字 评论 1 条
漫谈QWidget及其派生类(三)中我们了QMainWindow到底是个什么东西,接下来就看看QDialog吧,没办法,谁让它这么常用呢? 很多人觉得QDialog比QWidget高级很多,为什么呢? QDialog(this) 和 QWidget(this) 前者是窗口,后者不是。 QDialog 除 show()外,还有 exec() 和 open() 两个成员用来显示窗口。 QDialog .... 本文内容:如何使用QWidget来实现QDialog的常用功能,通过定义一个名为HDailog的类希望对大家理解QWidget...
阅读全文
2015-04-28 07:21 工业·编程 ⁄ 共 3258字 评论 1 条
在漫谈QWidget及其派生类(二)一文的最后我们简单提到了QMainWindow的一些东西。但是内容太少了,本文中我们换个角度看看QMainWindow,希望大家能了解一点:与QWidget相比,其派生类QMainWindow也不过如此 例子一 上一篇太乱了,应该主要是缺少例子。我们这次改一改,直接上个例子看看: #include <QtGui/QtGui> class MainWindow:public QMainWindow { public: MainWindow() { menuBar()->...
阅读全文
2015-04-27 06:20 工业·编程 ⁄ 共 4293字 评论 1 条
本文接下来试图看看 QLayout 与窗口的几何尺寸控制。 注意:本文只是试图解释,QLayout其实没有任何神秘的东西,它所有的功能离开它你也都可以做。但这并不是鼓励大家不使用QLayout。 始终记住一点:要改变一个Widget的大小,只有move()、resize()、setGeometry()这3个东西可用,当然,对于带装饰器的顶级窗口,你还可以通过鼠标等改变大小或移动窗口位置(但这个不在本文讨论范围内)。 相关阅读     ----漫谈QWi...
阅读全文
2015-04-26 06:17 工业·编程 ⁄ 共 2043字 评论 1 条
对于QWidget,总觉得该写点什么。可又不知道具体该写些什么,思路又乱又杂。简单理理,简单写写,就叫漫谈吧 注意:我不知道本文写完会是什么样子,可能写着写着就没下文了。也可能各部分隔很长时间。 注意:本系列涉及到的东西都是Qt用户需要理解的,但是,我们不应该在实际项目中这么用。 QWidget QWidget 是Qt中所有widget部件(比如QDialog、QPushButton、QLabel)的基类。 任何你可以通过其派生类实现的东西,你都可...
阅读全文