Qt Designer布局管理入门
Qt Designer布局管理
Qt Designer提供了四种窗口布局:Vertical Layout(垂直布局)
,Horizontal Layout(水平布局)
,Grid Layout(栅格布局)
,Form Layout(表单布局)
,以及一种隐藏的布局—绝对布局
一般进行布局有两种方式,:一是通过布局管理器进行布局,二是通过容器控件进行布局
1. Vertical Layout(垂直布局)
控件默认按照从上到下的顺序进行纵向排序。
首先在Qt Designer创建一个MainWindow。
-
直接拖动垂直布局图标,然后向里添加控件,蓝线是提示。(通过布局管理器进行布局)
-
先拖动控件,再按住ctrl选中想要垂直布局的控件,单击右键移至Layout,选择垂直布局。(通过布局管理器进行布局)
-
将左侧的Frame拖动过来,然后将控件放入其中,再选中Frame,单击右键,选择layout中的布局
保存下来,回到pycharm,转为.py文件,然后用之前的转为面向对象的思想,将界面与逻辑分离,代码如下,其实可以直接套用这个模板,只需要更改导入的文件名即可
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QMainWindow
from Vertical import *
class MyMainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyMainWindow, self).__init__(parent)
self.setupUi(self)
if __name__ == '__main__':
app = QApplication(sys.argv)
myWin = MyMainWindow()
myWin.show()
sys.exit(app.exec_())
2. Horizontal Layout(水平布局)
控件默认按照从左到右的顺序进行横向添加
使用方法同上,建议多拖拽练习,更改布局后,不需要去改什么,只需要重新生成.py文件即可
3. Grid Layout(栅格布局)
将窗口控件放入一个网格之中,然后将他们合理地划分成若干行(row)和列(column),并把其中的每个窗口控件放置在合适的单元(cell)中,这里的单元指行和列交叉所划分出来的空间
使用方法同上
4. Form Layout(表单布局)
控件以两列的形式布局在表单中,其中左列包含标签,右列包含输入控件
使用方法同上
5. 绝对布局
绝对布局是最简单的一种布局,就是在右侧的属性编辑器中更改,设置geometry属性,X,Y分别代表这个控件左上角距离主窗口左侧多远,上侧多远。
关于分割线
当某种布局时,想要让两个控件之间隔开距离,使用左侧的Hrizontal Spacer
和Vertical Spacer
进行分割,如图所示
上一篇: Qt 多语言切换与国际化