PyQt5学习02

QT Desinger布局

1.1 水平布局

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

设计稿

代码 :

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_())

实际效果 : 

1.2 垂直布局

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

代码

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_())

实际效果

 1.3 栅格布局

设置样式,生成py文件

 代码 :

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 表单布局

例子

1.5 绝对布局 

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

1.6 间隔

水平间隔 

垂直间隔

水平线

垂直线

2 QT Designer其他设置

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

2.2 尺寸策略

sizePolicy 尺寸策略

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

设计

代码 

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_())

尺寸策略

水平策略 

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

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顺序,可以自定义顺序

3 信号与槽

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

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

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

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

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

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

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

4 添加菜单栏和工具栏

菜单栏的设置

工具栏的设置

动作编辑器设置 

运行效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值