简介:PyQT5开发常用知识,零基础上手,需配合我之前写的博文,配置好QT设计工具和ui文件转py文件的工具。博文为:使用Python PyQt5实现一个简单的图像识别软件;页面效果如下:
设计菜单栏
Containers——>Tab Widget;
横向排布 可以自动水平对齐
文本框和选择框
日期输入框和按钮
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
推荐阅读:
1.PyQt5实现父窗口内点击按钮显示子窗口(窗口嵌套功能)
来源地址:https://blog.csdn.net/yue200403/article/details/129348180