继承关系:在Qt中所有的类都有一个共同的基类QObject ,QWidget直接继承与QPaintDevice类,QDialog.QMainWindow.QFrame直接继承QWidget 类. QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己.每一个窗口部件都是矩形的,并且它们按Z轴顺序排列.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分.     QMainWindow 类提供一个有菜单条…
简述 在分享所有基础知识之前,很有必要在这里介绍下常用的窗口 - QWidget.QDialog.QMainWindow. QWidget继承于QObject和QPaintDevice,QDialog和QMainWindow则继承于QWidget,QDialog.QMainWindow两者之间没有直接关系.淘气的小盆友又不高兴了,它俩分明同属于一个父亲,那就是兄弟姊妹关系O(∩_∩)O哈哈~. 简述 QWidget QDialog 模式对话框 非模式对话框 半模式对话框 QMainWindow…
继承关系:在Qt中所有的类都有一个共同的基类QObject ,QWidget直接继承与QPaintDevice类,QDialog.QMainWindow.QFrame直接继承QWidget 类.     QWidget类是所有用户界面对象的基类.窗口部件(QWidget)是用户界面的一个基本单元:它从窗口系统接收鼠标,键盘和其他事件,并且在屏幕上绘制自己.每个窗口部件都是矩形的,并且它们按Z轴顺时针排列.一个窗口部件可以把他的父窗口部件或者它前面的窗口部件盖住一部分.   QMainWindow…
继承关系:在Qt中所有的类都有一个共同的基类QObject ,QWidget直接继承与QPaintDevice类,QDialog.QMainWindow.QFrame直接继承QWidget 类.     QWidget类是所有用户界面对象的基类.窗口部件(QWidget)是用户界面的一个基本单元:它从窗口系统接收鼠标,键盘和其他事件,并且在屏幕上绘制自己.每个窗口部件都是矩形的,并且它们按Z轴顺时针排列.一个窗口部件可以把他的父窗口部件或者它前面的窗口部件盖住一部分.   QMainWindow…
这个实验用Qt实现基本QMainWindow主窗口 先上实验效果图    打开一个文件,读取文件类容 详细步骤: 1.打开Qt creator新建MainWindow工程 右键工程名添加新文件,main文件,后缀自动补全后为main.cpp 选中工程,再次右键,选择模板的时候选择C++类,添加一个MainWindow类,该类继承字QMainWindow #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #inclu…
简述 在分享所有基础知识之前,很有必要在这里介绍下常用的窗口-QWidget.QDialog.QMainWindow. 熟悉Qt的同学都应该知道,在新建Qt Widgets项目进行类信息选择时会碰到它们,没错,很巧,每次都能碰到.所以,在以后的Qt开发中,我们会经常和它们打交道.常言道,知己知彼,百战不殆.只有了解它们.熟悉它们,才能更好地驾驭它们... QWidget继承于QObject和QPaintDevice,QDialog和QMainWindow则继承于QWidget,QDialog.Q…
QWidget是所有可视化控件的基类,可以直接渲染出一个窗口来. QMainWindow用来表示一个主窗口,这个主窗口可以设置菜单和工具栏 QFrame用来表示一个框架,用来当作容器,因为可以设置它的格式,所有也可以用来装饰,一般不用做窗口 QWindow一般不用 QDialog对话框而已 QScrollArea有滚动条的窗口. from PyQt5.QtWidgets import (QWidget,QListWidget,QLabel,QApplication,QScrollArea,QFr…
QDialog是Qt中所有对话框窗口的基类 当QWidget无父组件的时候作为一个独立的窗口,有父组件的时候,将作为一个可见的部件嵌入到父组件里面. QDialog不能作为子部件嵌入到其他容器中 对话框有模态.非模态两种情况. 模态对话框: 对于参数选择的对话框,一般用模态对话框: 显示后不能够和父窗口进行交互 是一种阻塞式对话框调用 模态对话框通过调用exec()函数实现,使用模态对话框时,事件就在对话框内部循环,必须将对话框关闭才能继续执行主界面的操作. 非模态: 对于显示或查看某些内容的对…
简述 普通的桌面应用程序有个共同的特性,有菜单栏.工具栏.状态栏.中央窗口等部件.菜单栏其实可以看成是一个窗口,菜单栏中的每一个菜单也可以看成一个窗口,每个部件基本都可以认为是一个窗口.那么这些典型的桌面应用可以认为是一些QWidget的组合,通过QWidget派生的方式也确实能够完成这样的窗口. 但是如果每次都自己去设计,重复这些工作,想想都有些麻烦,于是Qt帮我们实现这样的窗口,叫做QMainWindow,QMainWindow已经布置好菜单栏.工具栏.状态栏等窗口,我们只需要懂得如何去应用…
简述 Qt中Esc键会在一些控件中默认的进行一些事件的触发,比如:QDialog,按下Esc键窗口消失.大多数情况下,我们不需要这么做,那么就需要对默认事件进行屏蔽. 简述 源码分析 事件过滤器 事件重写 重写reject 源码分析 通过查看QDialog的源码,我们很容易会发现keyPressEvent事件中,当按下Esc键时,会默认执行reject(). void QDialog::keyPressEvent(QKeyEvent *e) { // Calls reject() if Esca…