pyqt5基本窗口控件
一、QMainWindow、Qwidget、QDialog
1.QMainWindow是主窗口基类,包含菜单栏,工具栏、状态栏、标题栏。任何一个GUI都必须继承QMainWindow
QDialog是对话框基类。对话框主要用来执行短期任务或者与用户进行互动
Qwidget是控件基类,既可以作为顶层窗口也可以嵌入到其他窗口中
所以我们在制作UI时通常会把这三个类都导入

PyQt5中基本所有的基础窗口控件都在PyQt5.Widgets中,前面说到Qwidget既可以作为顶层窗口也可以作为子窗口控件

如上述程序所示,window就是一个顶层窗口。而当构造window同时传入参数(父窗口)时,则window就会变成其控件。当window作为顶层窗口时,它是可以setWindowTitle()和setWindowIcon()函数的。
任何一个顶层窗口被实例化后,都需要调用show()方法才可以在屏幕上显现。
app是GUI所必须的,app.exec_()是一个主循环(在退出前无限循环),接受信号并分发给程序中每个控件。如果调用exit()或主控件被销毁,主循环就结束。sys.exit()方法程序完整结束,同时记录程序是如何退出的。如果sys.exit()返回0(EXIT_SUCESS)则表示程序圆满结束,非0(EXIT_FAILURE)表示程序异常终止
二、窗口的坐标系统


三、给顶层窗口设置图标

四、给控件设气泡提示
只要是Qwidget类下的控件不管其作为主窗口还是控件,都可以设置气泡提示。气泡通过下面两个语句实现

import sys
from PyQt5.QtGui import QIcon,QFont
from PyQt5.QtWidgets import QWidget,QApplication,QToolTip,QPushButton,QHBoxLayout
class IconClass(QWidget):
def __init__(self,parent=None):
super(IconClass,self).__init__(parent)
self.initUI()
def initUI(self):
self.btn=QPushButton("BTN")
# 设置气泡提示信息
QToolTip.setFont(QFont("SansSerif", 24))
self.btn.setToolTip("这是一个气泡提示信息!")
self.setGeometry(200,200,200,200)#坐标,宽高
self.setWindowTitle("显示图标的窗口")
# 布局
layout = QHBoxLayout()
layout.addWidget(self.btn)
self.setLayout(layout)
if __name__=="__main__":
app=QApplication(sys.argv)
icon=IconClass()
icon.show()
sys.exit(app.exec_())

五、文本框类控件
QLineEdit是单行文本框控件,QTextEdit是多行文本框控件。


掩码:通过setInputMask来设置



详细内容参见PDF P169

六、按钮类控件
按钮的基类为QAbstracButton,其为基类,不能实例化





浙公网安备 33010602011771号