简介:PyQT5开发常用知识,零基础上手,需配合我之前写的博文,配置好QT设计工具和ui文件转py文件的工具。博文为:使用Python PyQt5实现一个简单的图像识别软件;页面效果如下:
1.设计菜单栏
Containers——>Tab Widget;
2.横向排布 可以自动水平对齐
3.文本框和选择框
4.日期输入框和按钮
5.布局技巧 巧用空Label
6.滚动条设置 Container——>Scroll Area
7.显示文本或图片的Label控件
8.生成.py文件 将上面的ui文件保存后,使用PyUIC将ui文件转变成python代码;
9.通过代码来对ui进行细致修改
(1)设置Tab顺序
设置优先显示的tab,代码如下:
self.tabWidget.setCurrentIndex(0)
表示优先显示第一个Tab;
(2)设置Label里的文本自动换行且从左上角开始排列:
self.label_5.setWordWrap(True)
self.label_5.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
设置后的效果如下:
可以看到已经不再是居中的形式;
(3)PyQT5 Label设置文本对齐方式
self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter)
(4)PyQT5 QTableWidget 设置单元格内文本的居右对齐
x = QTableWidgetItem('Test')
x.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)
(5) 给Label设置边框
self.label.setStyleSheet("border-width: 1px;border-style: solid;boder-color: rgb(0,0,0);")
(6)设置纵向滚动条
self.scrollArea = QtWidgets.QScrollArea(Form)
self.scrollArea.setGeometry(QtCore.QRect(10, 60, 551, 221))
self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.scrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.scrollArea.setWidgetResizable(False)
self.scrollArea.setObjectName("scrollArea")
self.scrollAreaWidgetContents = QtWidgets.QWidget()
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 550, 3000))
self.scrollAreaWidgetContents.setMaximumSize(QtCore.QSize(1000, 4000))
self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
(7)设置日期 输入框
self.dateEdit = QtWidgets.QDateEdit(QDate.currentDate())
self.dateEdit.setObjectName("dateEdit")
self.dateEdit.setDisplayFormat("yyyy-MM-dd")
self.dateEdit.setMinimumDate(QDate.currentDate().addDays(-3652))
self.dateEdit.setMaximumDate(QDate.currentDate().addDays(3652))
self.horizontalLayout_2.addWidget(self.dateEdit)
(8)程序入口代码
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mainWindow = QtWidgets.QMainWindow()
ui = Ui_Form()
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())
(9)打包为.exe文件命令
pyinstaller -F -w 文件名称.py
版权归原作者 yue200403 所有, 如有侵权,请联系我们删除。