PYQT5基础GUI框架
#1. 导入PyQt5包中的几个模块
2 import sys
3 from PyQt5 import QtCore, QtGui, QtWidgets
4
5 #2. 创建App,用QApplication类
6 app = QtWidgets.QApplication(sys.argv)
7
8 #3. 创建一个窗体widgetHello,用QWidget类
9 widgetHello = QtWidgets.QWidget()
10 #设置对话框的宽度和高度
11 widgetHello.resize(280,150)
12 #设置对话框的标题文字
13 widgetHello.setWindowTitle("Demo2_1")
14
15
#4. 创建一个标签LabHello,父容器为widgetHello
16 LabHello = QtWidgets.QLabel(widgetHello)
17 #设置标签文字
18 LabHello.setText("Hello World, PyQt5")
19
20 #5. 创建字体对象font,用QFont类
21 font = QtGui.QFont()
22 #设置字体大小
23 font.setPointSize(12)
24 #设置为粗体
25 font.setBold(True)
26 #设置为标签LabHello的字体
27 LabHello.setFont(font)
28 #获取LabHello的合适大小,返回值aLabSize是QSize类对象
29 size=LabHello.sizeHint()
30 #设置LabHello的位置和大小,位置x=70,y=60, 宽度和高度由aLabSize的值确定31 LabHello.setGeometry(70, 60, size.width(), size.height())32 33 #6. 显示对话框/应用程序运行34 widgetHello.show() 35 sys.exit(app.exec_())
#########################################################################
# 1. 用QApplication类创建一个应用程序实例
# 2. 创建一个窗体(QWidget, QDialog, QMainWindow)
# 3. 创建界面组件(QLabel)
# 4. 其他处理(文字处理,字体,位置...)
# 5. 窗体的显示和运行
#########################################################################
PyQtGui框架
Qt5:Qt是一个跨平台的 C++图形用户界面库。
一、QT库引入
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
二、一些常用类:
label = QLabel(win)
button = QPushButton(win)
self.text_edit = QTextEdit(self)
常用布局:
- QHBoxLayout 和 QVBoxLayout 负责水平和垂直布局
- QGridLayout
- QFormLayout//注册表单,适合用于注册界面
- QStackedLayout//堆栈布局,可以用于快速界面切换
三、常用样式
self.setWindowTitle('title') # 设置窗体名称
self.setWindowIcon('path') # 设置窗体图标
self.resize(300, 250) # 更改窗体大小
self.size() # 获取窗体大小
self.width() # 获取窗体宽度
self.height() # 获取窗体高度
self.setFixedWidth(int width) # 设置窗体宽度
self.setFixedHeight(int height) # 设置窗体高度
self.setFixedSize(int width, int height) # 设置窗体大小
self.setGeometry(int x, int y, int width, int height) # 设置窗口位置
self.frameGeometry() # 获取窗口的大小和位置
self.move(int x, int y) # 设置窗口的位置
self.pos() # 获取窗口左上角坐标
self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint) # 禁止最大化按钮
self.setFixedSize(self.width(), self.height()) # 禁止拉伸窗口大小

浙公网安备 33010602011771号