实例
- 创建基于Dialog without Buttons模板的窗口
- 添加两个Label,两个Line Edit,一个Push Button部件
- 设定Label部件的text为Name和Email Address
- 设定Push Button的text为Submit
- 左击text为Name的Label,然后按照Ctrl, 左击右侧的Line Edit部件,右键选择“布局”,选择水平布局
- 对Email Address 做出同样设定
- 如想打破布局,只需左击布局,右键选择“布局”,选择打破布局
- 在Name和LineEdit间添加水平占位部件(horizontal spacer ), 并调整其大小
- 保存为demoHorizontalLayout.ui
- 使用pyuic生成demoHorizontalLayout.py
- 添加主函数
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(150, 160, 75, 23))
self.pushButton.setObjectName("pushButton")
self.layoutWidget = QtWidgets.QWidget(Dialog)
self.layoutWidget.setGeometry(QtCore.QRect(60, 100, 219, 22))
self.layoutWidget.setObjectName("layoutWidget")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget)
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label_2 = QtWidgets.QLabel(self.layoutWidget)
self.label_2.setObjectName("label_2")
self.horizontalLayout_2.addWidget(self.label_2)
self.lineEdit_2 = QtWidgets.QLineEdit(self.layoutWidget)
self.lineEdit_2.setObjectName("lineEdit_2")
self.horizontalLayout_2.addWidget(self.lineEdit_2)
self.layoutWidget_2 = QtWidgets.QWidget(Dialog)
self.layoutWidget_2.setGeometry(QtCore.QRect(60, 50, 215, 22))
self.layoutWidget_2.setObjectName("layoutWidget_2")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget_2)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.label = QtWidgets.QLabel(self.layoutWidget_2)
self.label.setObjectName("label")
self.horizontalLayout.addWidget(self.label)
spacerItem = QtWidgets.QSpacerItem(14, 17, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.lineEdit = QtWidgets.QLineEdit(self.layoutWidget_2)
self.lineEdit.setObjectName("lineEdit")
self.horizontalLayout.addWidget(self.lineEdit)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.pushButton.setText(_translate("Dialog", "Submit"))
self.label_2.setText(_translate("Dialog", "Email Address"))
self.label.setText(_translate("Dialog", "Name "))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
