self.radiotbtn.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
参数1: QSizePolicy.Expanding 水平扩展策略
参数2: QSizePolicy.Fixed 垂直扩展策略
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QSizePolicy
from PyQt5 import QtCore, QtGui, QtWidgets
class MainWindow(QWidget):
def __init__(self):
super().__init__(parent=None)
self.setupUi()
def setupUi(self):
self.setWindowTitle('RFID tool')
formLayout = QtWidgets.QFormLayout()
qlabel = QtWidgets.QLabel()
qlabel.setText('读取串口')
hlayout = QtWidgets.QHBoxLayout()
self.qcombobox = QtWidgets.QComboBox()
hlayout.addWidget(self.qcombobox)
self.radiotbtn = QtWidgets.QRadioButton()
self.radiotbtn.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
self.radiotbtn.setText('绑定串口号')
hlayout.addWidget(self.radiotbtn)
formLayout.addRow(qlabel, hlayout)
qlabel = QtWidgets.QLabel()
qlabel.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
qlabel.setText('校验结果')
self.result_info = QtWidgets.QTextEdit()
formLayout.addRow(qlabel, self.result_info)
self.setLayout(formLayout)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
qssStyle = '''
* {
font-size:24px
}
'''
mainui = MainWindow()
mainui.setStyleSheet(qssStyle)
mainui.show()
sys.exit(app.exec_())
效果图
拉伸窗口前效果
拉伸窗口后效果
说明:由于 radiotbtn
设置了水平扩展,垂直固定,因此当窗口拉伸的时候,radiotbtn
会把拉伸空间抢占,导致 qcombobox
不会变动。
不设置时候,radiotbtn
和 qcombobox
会均分拉伸空间