PyQt5学习02

QT Desinger布局

1.1 水平布局

QT Designer 水平布局生成horizontal.ui,生成horizontal.py,调用py文件

设计稿

PyQt5学习02_第1张图片

代码 :

import sys

import horizontal
from PyQt5.QtWidgets import QApplication, QMainWindow

if __name__ == '__main__':
    # 定义窗口
    app = QApplication(sys.argv)
    main_window = QMainWindow()

    # 向主窗口添加控件
    ui = horizontal.Ui_MainWindow()
    ui.setupUi(main_window)

    main_window.show()
    sys.exit(app.exec_())

实际效果 : 

PyQt5学习02_第2张图片

1.2 垂直布局

设计样式,选择垂直布局,选择几个控件,拖拽到垂直布局的框里,生成文件

PyQt5学习02_第3张图片

代码

import sys
import vertical

from PyQt5.QtWidgets import QApplication,QMainWindow

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_window = QMainWindow()

    ui = vertical.Ui_MainWindow()
    ui.setupUi(main_window)

    main_window.show()

    sys.exit(app.exec_())

实际效果

PyQt5学习02_第4张图片

 1.3 栅格布局

设置样式,生成py文件

PyQt5学习02_第5张图片

 代码 :

import sys
import grid

from PyQt5.QtWidgets import QApplication, QMainWindow

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_window = QMainWindow()

    ui = grid.Ui_MainWindow()
    ui.setupUi(main_window)

    main_window.show()

    sys.exit(app.exec_())

1.4 表单布局

例子

PyQt5学习02_第6张图片

1.5 绝对布局 

控件的相对坐标都是左上角的(x,y, 宽,高)

1.6 间隔

水平间隔 

垂直间隔

水平线

垂直线

PyQt5学习02_第7张图片

2 QT Designer其他设置

2.1 控件尺寸设置最大值与最小值

PyQt5学习02_第8张图片

2.2 尺寸策略

sizePolicy 尺寸策略

sizeHint  期望尺寸,类似默认值,,对大部多数控件是只读的

设计

PyQt5学习02_第9张图片

代码 

import sys
import sizepolicy

from PyQt5.QtWidgets import QApplication, QMainWindow
"""
获取期望尺寸sizeHint
self.pushButton.sizeHint().width()    77px
self.pushButton.sizeHint().height()   32px
与当前尺寸没有关系

self.textEdit.sizeHint().width()   256px
self.textEdit.sizeHint().height()  192px

最小期望尺寸 
self.textEdit.minimumSizeHint().width()   71
self.textEdit.minimumSizeHint().height()  71
"""

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_window = QMainWindow()

    ui = sizepolicy.Ui_MainWindow()
    ui.setupUi(main_window)

    main_window.show()

    sys.exit(app.exec_())

尺寸策略

PyQt5学习02_第10张图片

水平策略 

1、默认Mininum, 如果Mininumsize是0x0,没有设置,这个值就是 sizeHint,如果设置值,就会按照最小值展示

PyQt5学习02_第11张图片

2、fixed 固定值

3、maxinum 最大值,不会超过sizehint的最大值

4、Expanding 延展 : 最常用

 水平延伸 :设置水平策略是expanding 

在一个水平布局里面,如果有3个控件就是,0就表示是3等分,如果这某个控件设置为2,其他两个为1 , 就会表示这个控件占2/4, 就是一半

如果有两个控件,1个设置为2,一个设置为1, 设置为2的控件就表示占据了2/3 的布局。

垂直策略与水平策略类似
 

2.4 控制控件的tab顺序

按tab键盘,跳转,编辑--》编辑tab顺序,可以自定义顺序

PyQt5学习02_第12张图片

3 信号与槽

信号与槽是qt的核心机制,pyqt继承了qt的核心机制

信号 singal  :是对象或控件发射出去的消息, 例如:按钮的单击事件,当单击按钮时,按钮就会向外部发送单击消息,这个消息就是信号singal, 接受这个消息处理响应的就槽 slot

槽 slot :是接受并处理信号的方法,本质事件函数

需要将信号和槽绑定,一个singal可以和多个slot绑定,一个slot也可以拦截多个singal

可以通过qt designer,也可以通过代码绑定

通过Qt Designer,编辑->编辑信号与槽, 设置按钮单击事件,是关闭窗口。

PyQt5学习02_第13张图片

 设置单选框,控制文本框控件的显示/隐藏, 可用与不可用

PyQt5学习02_第14张图片

4 添加菜单栏和工具栏

菜单栏的设置

PyQt5学习02_第15张图片

工具栏的设置

动作编辑器设置 

PyQt5学习02_第16张图片

运行效果

PyQt5学习02_第17张图片

你可能感兴趣的:(GUI开发学习,python,pyqt5)