Python使用PyQt5库 一、Designer界面的使用
来源:互联网 发布:制作歌词软件 编辑:程序博客网 时间:2024/06/08 01:37
台平:Mac OS
不介绍PyQt5的安装与Designer的安装,这里使用的是Qt 5.7自带的Designer界面编辑器
打开Designer界面后创建一个界面。
这里附上这个文件代码:
<?xml version="1.0" encoding="UTF-8"?><ui version="4.0"> <class>MainWindow</class> <widget class="QMainWindow" name="MainWindow"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>336</width> <height>463</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> <widget class="QWidget" name="centralwidget"> <widget class="QPushButton" name="Process_textLine"> <property name="geometry"> <rect> <x>70</x> <y>380</y> <width>181</width> <height>32</height> </rect> </property> <property name="text"> <string>处理文件行内容无重复</string> </property> </widget> <widget class="QWidget" name=""> <property name="geometry"> <rect> <x>50</x> <y>11</y> <width>242</width> <height>162</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout"> <property name="spacing"> <number>0</number> </property> <item> <layout class="QHBoxLayout" name="horizontalLayout"> <property name="spacing"> <number>0</number> </property> <item> <widget class="QLineEdit" name="PathSource"> <property name="enabled"> <bool>true</bool> </property> <property name="maximumSize"> <size> <width>133</width> <height>21</height> </size> </property> </widget> </item> <item> <widget class="QPushButton" name="SelectFileButton"> <property name="text"> <string>数据文件1</string> </property> </widget> </item> </layout> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_2"> <property name="spacing"> <number>0</number> </property> <item> <widget class="QLineEdit" name="PathSource_2"> <property name="maximumSize"> <size> <width>133</width> <height>21</height> </size> </property> </widget> </item> <item> <widget class="QPushButton" name="SelectFileButton_2"> <property name="text"> <string>数据文件2</string> </property> </widget> </item> </layout> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_3"> <property name="spacing"> <number>0</number> </property> <item> <widget class="QLineEdit" name="lineEdit"> <property name="maximumSize"> <size> <width>133</width> <height>21</height> </size> </property> </widget> </item> <item> <widget class="QPushButton" name="outputFile"> <property name="text"> <string>输出文件</string> </property> </widget> </item> </layout> </item> <item> <widget class="QPushButton" name="screening"> <property name="maximumSize"> <size> <width>16777215</width> <height>40</height> </size> </property> <property name="text"> <string>筛选</string> </property> </widget> </item> </layout> </widget> <widget class="QWidget" name=""> <property name="geometry"> <rect> <x>100</x> <y>250</y> <width>131</width> <height>69</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <layout class="QHBoxLayout" name="horizontalLayout_4"> <property name="spacing"> <number>10</number> </property> <item> <widget class="QSpinBox" name="spinBox"> <property name="maximum"> <number>9</number> </property> </widget> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_5"> <item> <widget class="QLabel" name="label"> <property name="layoutDirection"> <enum>Qt::LeftToRight</enum> </property> <property name="text"> <string>To</string> </property> <property name="alignment"> <set>Qt::AlignCenter</set> </property> </widget> </item> </layout> </item> <item> <widget class="QSpinBox" name="spinBox_2"> <property name="maximum"> <number>9</number> </property> </widget> </item> </layout> </item> <item> <widget class="QPushButton" name="Process_text4last"> <property name="text"> <string>处理</string> </property> </widget> </item> </layout> </widget> <zorder>PathSource</zorder> <zorder>SelectFileButton</zorder> <zorder>SelectFileButton</zorder> <zorder>PathSource_2</zorder> <zorder>SelectFileButton_2</zorder> <zorder>screening</zorder> <zorder>Process_textLine</zorder> <zorder>lineEdit</zorder> <zorder>outputFile</zorder> <zorder>spinBox</zorder> <zorder>spinBox_2</zorder> <zorder>Process_text4last</zorder> </widget> <widget class="QStatusBar" name="statusbar"/> </widget> <resources/> <connections/></ui>
安装PyQt5库后会有工具将.ui转换成python界面代码
pyuic5
使命令行进入到.ui存在的目录下
pyuic5 test.ui -o AppMain.py
这个命令会将test.ui界面文件生成 AppMain.py文件,AppMain.py文件里则是输出的Python语言pyqt5的相关代码类
附所输出的代码
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'test.ui'## Created by: PyQt5 UI code generator 5.7## WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(336, 463) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.Process_textLine = QtWidgets.QPushButton(self.centralwidget) self.Process_textLine.setGeometry(QtCore.QRect(70, 380, 181, 32)) self.Process_textLine.setObjectName("Process_textLine") self.widget = QtWidgets.QWidget(self.centralwidget) self.widget.setGeometry(QtCore.QRect(50, 11, 242, 162)) self.widget.setObjectName("widget") self.verticalLayout = QtWidgets.QVBoxLayout(self.widget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setSpacing(0) self.horizontalLayout.setObjectName("horizontalLayout") self.PathSource = QtWidgets.QLineEdit(self.widget) self.PathSource.setEnabled(True) self.PathSource.setMaximumSize(QtCore.QSize(133, 21)) self.PathSource.setObjectName("PathSource") self.horizontalLayout.addWidget(self.PathSource) self.SelectFileButton = QtWidgets.QPushButton(self.widget) self.SelectFileButton.setObjectName("SelectFileButton") self.horizontalLayout.addWidget(self.SelectFileButton) self.verticalLayout.addLayout(self.horizontalLayout) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSpacing(0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.PathSource_2 = QtWidgets.QLineEdit(self.widget) self.PathSource_2.setMaximumSize(QtCore.QSize(133, 21)) self.PathSource_2.setObjectName("PathSource_2") self.horizontalLayout_2.addWidget(self.PathSource_2) self.SelectFileButton_2 = QtWidgets.QPushButton(self.widget) self.SelectFileButton_2.setObjectName("SelectFileButton_2") self.horizontalLayout_2.addWidget(self.SelectFileButton_2) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setSpacing(0) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.lineEdit = QtWidgets.QLineEdit(self.widget) self.lineEdit.setMaximumSize(QtCore.QSize(133, 21)) self.lineEdit.setObjectName("lineEdit") self.horizontalLayout_3.addWidget(self.lineEdit) self.outputFile = QtWidgets.QPushButton(self.widget) self.outputFile.setObjectName("outputFile") self.horizontalLayout_3.addWidget(self.outputFile) self.verticalLayout.addLayout(self.horizontalLayout_3) self.screening = QtWidgets.QPushButton(self.widget) self.screening.setMaximumSize(QtCore.QSize(16777215, 40)) self.screening.setObjectName("screening") self.verticalLayout.addWidget(self.screening) self.widget1 = QtWidgets.QWidget(self.centralwidget) self.widget1.setGeometry(QtCore.QRect(100, 250, 131, 69)) self.widget1.setObjectName("widget1") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget1) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout_4 = QtWidgets.QHBoxLayout() self.horizontalLayout_4.setSpacing(10) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.spinBox = QtWidgets.QSpinBox(self.widget1) self.spinBox.setMaximum(9) self.spinBox.setObjectName("spinBox") self.horizontalLayout_4.addWidget(self.spinBox) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.label = QtWidgets.QLabel(self.widget1) self.label.setLayoutDirection(QtCore.Qt.LeftToRight) self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.setObjectName("label") self.horizontalLayout_5.addWidget(self.label) self.horizontalLayout_4.addLayout(self.horizontalLayout_5) self.spinBox_2 = QtWidgets.QSpinBox(self.widget1) self.spinBox_2.setMaximum(9) self.spinBox_2.setObjectName("spinBox_2") self.horizontalLayout_4.addWidget(self.spinBox_2) self.verticalLayout_2.addLayout(self.horizontalLayout_4) self.Process_text4last = QtWidgets.QPushButton(self.widget1) self.Process_text4last.setObjectName("Process_text4last") self.verticalLayout_2.addWidget(self.Process_text4last) self.PathSource.raise_() self.SelectFileButton.raise_() self.SelectFileButton.raise_() self.PathSource_2.raise_() self.SelectFileButton_2.raise_() self.screening.raise_() self.Process_textLine.raise_() self.lineEdit.raise_() self.outputFile.raise_() self.spinBox.raise_() self.spinBox_2.raise_() self.Process_text4last.raise_() MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.Process_textLine.setText(_translate("MainWindow", "处理文件行内容无重复")) self.SelectFileButton.setText(_translate("MainWindow", "数据文件1")) self.SelectFileButton_2.setText(_translate("MainWindow", "数据文件2")) self.outputFile.setText(_translate("MainWindow", "输出文件")) self.screening.setText(_translate("MainWindow", "筛选")) self.label.setText(_translate("MainWindow", "To")) self.Process_text4last.setText(_translate("MainWindow", "处理"))#END
现在测试一下这个界面
打开AppMain.py
在#END后添加以下代码
class MyWindow(QtWidgets.QMainWindow, Ui_MainWindow): def __init__(self): super(MyWindow, self).__init__() self.setupUi(self)if __name__ == '__main__': import sys app = QtWidgets.QApplication(sys.argv) mywindow = MyWindow() mywindow.show() sys.exit(app.exec_())
我使用的是继承的方式,当然还有其他方式,这样的话可以使视图(界面)与功能区分开来,方便维护。
当然肯定是运行成功的!
我就不附图了,本人比较懒。
0 1
- Python使用PyQt5库 一、Designer界面的使用
- Python使用PyQt5库 一、Designer界面的使用——终于出界面了。****************
- PyQt5使用Designer设计UI的两种实现方式
- 【Python专题】 使用pycharm+pyqt5 调取界面程序
- Python界面库-PyQt5初探
- PyQt5的使用
- PyQt5 runJavaScript的使用
- 使用Qt Designer创建界面
- 使用Qt Designer创建界面
- 使用Qt Designer创建界面
- 使用Qt Designer创建界面
- 使用pycharm+pyqt5 调取界面程序
- PyQt5:使用QT设计师设计界面
- 【Python专题】 使用pycharm+pyqt5编程需要注意的事情
- 使用Qt Designer生成的界面进行国际化编程
- 使用Qt Designer生成的界面进行国际化编程
- Ubuntu系统使用Qt Designer设计界面
- 使用Qt designer设计UI界面入门
- 20160802
- AFNetworking 上传图片,文件到服务器
- Common Subsequence(公共子序列个数)
- NOIP提高组2011 聪明的质监员
- 编译的程序占用的内存分为一下几个部分
- Python使用PyQt5库 一、Designer界面的使用
- 《黑客与画家》
- 事务管理
- react——传递 Props
- mongodb_修改器($inc/$set/$unset/$push/$pop/upsert/save())
- coreseek多表配置文件
- vim 快捷键
- ckeditor详细配置与使用说明
- dojo中lang.hitch()用法