问题:刚开始学习QT时,在窗口中放置一个个控件,而后运行程序。会发现改变窗口大小时,控件大小不随窗口大小变化而变化,导致窗口大小变化没意义,同时也让精心布局看起来很难看。
本文提供一种使用BoxLayout中放置控件,所有可见控件能够随窗口大小变化同比例变化的方法。
主要思想:在窗口中首先放置BoxLayout控件,再在BoxLayout控件中放置可视的控件。
一、基本框架:一个什么都没有的窗口。
# -*- coding: utf-8 -*-
# Created by colburn
# Email: bjay@qq.com
import sys
from PyQt5.QtWidgets import *
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Example Window')
self.show()
def main():
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
二、放入一个水平布局(还是什么都没有)
在以上代码基础上,只列出改变部分,不变部分就不写了
def initUI(self):
self.centralwidget = Q