pyqt5制作一键打开开发工具集的小工具
来源:互联网 发布:怎么设定网络熟读 编辑:程序博客网 时间:2024/06/08 13:23
先用PyQt5的designer设计一个简单的页面
在其中我已经加入了信号槽函数
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'tool.ui'## Created by: PyQt5 UI code generator 5.9.1## WARNING! All changes made in this file will be lost!import win32apifrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtWidgets import *class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(600, 201) self.setFixedSize(self.width(), self.height()) #禁止调节大小 self.verticalLayout = QtWidgets.QVBoxLayout(Form) self.verticalLayout.setObjectName("verticalLayout") self.groupBox = QtWidgets.QGroupBox(Form) self.groupBox.setObjectName("groupBox") self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox) self.horizontalLayout.setObjectName("horizontalLayout") self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.toollabel1 = QtWidgets.QLabel(self.groupBox) self.toollabel1.setObjectName("toollabel1") self.gridLayout.addWidget(self.toollabel1, 0, 0, 1, 1) self.namelineEdit1 = QtWidgets.QLineEdit(self.groupBox) self.namelineEdit1.setObjectName("namelineEdit1") self.gridLayout.addWidget(self.namelineEdit1, 0, 1, 1, 2) self.pathlineEdit1 = QtWidgets.QLineEdit(self.groupBox) self.pathlineEdit1.setObjectName("pathlineEdit1") self.gridLayout.addWidget(self.pathlineEdit1, 0, 3, 1, 1) self.pushButton = QtWidgets.QPushButton(self.groupBox) self.pushButton.setObjectName("pushButton") self.gridLayout.addWidget(self.pushButton, 0, 4, 1, 1) #注意如果槽函数带有额外的参数可以使用匿名函数lambda self.pushButton.clicked.connect(lambda: self.getpath(self.pathlineEdit1)) self.toollabel2 = QtWidgets.QLabel(self.groupBox) self.toollabel2.setObjectName("toollabel2") self.gridLayout.addWidget(self.toollabel2, 1, 0, 1, 1) self.namelineEdit2 = QtWidgets.QLineEdit(self.groupBox) self.namelineEdit2.setObjectName("namelineEdit2") self.gridLayout.addWidget(self.namelineEdit2, 1, 1, 1, 2) self.pathlineEdit2 = QtWidgets.QLineEdit(self.groupBox) self.pathlineEdit2.setObjectName("pathlineEdit2") self.gridLayout.addWidget(self.pathlineEdit2, 1, 3, 1, 1) self.pushButton_3 = QtWidgets.QPushButton(self.groupBox) self.pushButton_3.setObjectName("pushButton_3") self.gridLayout.addWidget(self.pushButton_3, 1, 4, 1, 1) self.pushButton_3.clicked.connect(lambda : self.getpath(self.pathlineEdit2)) self.label = QtWidgets.QLabel(self.groupBox) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 2, 0, 1, 1) self.namelineEdit3 = QtWidgets.QLineEdit(self.groupBox) self.namelineEdit3.setObjectName("namelineEdit3") self.gridLayout.addWidget(self.namelineEdit3, 2, 1, 1, 2) self.pathlineEdit3 = QtWidgets.QLineEdit(self.groupBox) self.pathlineEdit3.setObjectName("pathlineEdit3") self.gridLayout.addWidget(self.pathlineEdit3, 2, 3, 1, 1) self.pushButton_4 = QtWidgets.QPushButton(self.groupBox) self.pushButton_4.setObjectName("pushButton_4") self.gridLayout.addWidget(self.pushButton_4, 2, 4, 1, 1) self.pushButton_4.clicked.connect(lambda : self.getpath(self.pathlineEdit3)) spacerItem = QtWidgets.QSpacerItem(318, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem, 3, 0, 1, 4) self.pushButton_2 = QtWidgets.QPushButton(self.groupBox) self.pushButton_2.setObjectName("pushButton_2") self.gridLayout.addWidget(self.pushButton_2, 3, 4, 1, 1) self.horizontalLayout.addLayout(self.gridLayout) self.verticalLayout.addWidget(self.groupBox) self.pushButton_2.clicked.connect(self.getInfo) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def getpath(self, eg): path, _ = QFileDialog.getOpenFileName(self, '打开启动文件') eg.setText(path) def getInfo(self): a = {} name = self.namelineEdit1.text() path = self.pathlineEdit1.text() a[name] = path name2 = self.namelineEdit2.text() path2 = self.pathlineEdit2.text() a[name2] = path2 name3 = self.namelineEdit3.text() path3 = self.pathlineEdit3.text() a[name3] = path3 for key in a: # win32api.ShellExecute(0, 'open', a[key], '', '', 0) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.groupBox.setTitle(_translate("Form", "开发工具集")) self.toollabel1.setText(_translate("Form", "工具一:")) self.pushButton.setText(_translate("Form", "打开")) self.toollabel2.setText(_translate("Form", "工具二:")) self.pushButton_3.setText(_translate("Form", "打开")) self.label.setText(_translate("Form", "工具三:")) self.pushButton_4.setText(_translate("Form", "打开")) self.pushButton_2.setText(_translate("Form", "启动"))
我在使用布局的时候使用的是网格布局,这样可以调节每个控件所占用的格数。
主函数
import sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import QIconimport toolclass Main(QWidget, tool.Ui_Form): def __init__(self, parent=None): super(QWidget, self).__init__(parent) self.setupUi(self) # self.setWindowIcon(QIcon('1.ico')) # self.resize(422, 189)if __name__ == "__main__": app = QApplication(sys.argv) demo = Main() demo.show() sys.exit(app.exec())
阅读全文
0 0
- pyqt5制作一键打开开发工具集的小工具
- PyQt5简单小工具制作步骤:
- Java制作的快速打开文件夹、程序的小工具
- python小工具--tfrecords文件的制作工具
- MFC-(小工具)JAVA环境变量一键配置工具
- jQuery开发之windows边栏小工具开发(Gadget development)- windows小工具实现的电话薄查询工具
- Android工具:Android开发实用小工具
- WPF制作的天气预报小工具
- DOS工具: 切换IP的小工具
- 十个必备的.NET开发小工具
- Web开发常用的几个小工具
- 十个必备的.NET开发小工具
- 开发应用程序关联管理的小工具
- 十个必备的.NET开发小工具
- 十个必备的.NET开发小工具
- 项目开发前准备的小工具
- 关于开发小工具的日记
- Android 开发的几个代码小工具
- Browser 对象(Navigator 对象)
- jvisualVM加载VirsualGC插件
- SpringCloud Eureka
- 第七次实训博客
- Java读写Excel文件
- pyqt5制作一键打开开发工具集的小工具
- Android简单Fragment切换
- Agilent EMpro2015(三维电磁仿真软件)官方版下载附安装教程
- Java并发编程基础
- Python使用datetime模块进行简单的日期换算与计算
- java多线程[6]:CountDownLatch
- Android移动开发-蓝牙(BlueTooth)设备检测连接的实现
- JSP
- popupwindow在android7.0出现全屏解决方案