当前位置:网站首页>Pyqt5 how to set pushbutton click event to obtain file address
Pyqt5 how to set pushbutton click event to obtain file address
2022-07-26 23:14:00 【The wind blows the fallen leaves and the flowers flutter】
PyQt5 How to set up PushButton Click the event to get the file address
List of articles
One 、 design sketch
Click on that to have 3 A little button 

Two 、 Realization

Core code :
stay def setupUi(self, MainWindow): Add... To the last line self.toolButton.clicked.connect(self.msg)
Then add a member function msg that will do
################button Button click event callback function ################
self.toolButton.clicked.connect(self.msg)
def msg(self, Filepath):
m = QtWidgets.QFileDialog.getExistingDirectory(None, " Select a folder ", "C:/") # Starting path
self.lineEdit_3.setText(m)
3、 ... and 、 Test code
notes : You may not open ui, Because there is no picture
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ImgGenerate.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(500, 300)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy)
MainWindow.setMinimumSize(QtCore.QSize(500, 300))
MainWindow.setMaximumSize(QtCore.QSize(500, 300))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("logo.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(0, 0, 491, 271))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
self.label_4.setSizePolicy(sizePolicy)
self.label_4.setMinimumSize(QtCore.QSize(491, 271))
self.label_4.setMaximumSize(QtCore.QSize(491, 271))
self.label_4.setText("")
self.label_4.setPixmap(QtGui.QPixmap("begin.jpg"))
self.label_4.setObjectName("label_4")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(70, 30, 372, 181))
self.widget.setObjectName("widget")
self.gridLayout = QtWidgets.QGridLayout(self.widget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.label_5 = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setFamily(" Regular script ")
font.setPointSize(14)
self.label_5.setFont(font)
self.label_5.setObjectName("label_5")
self.gridLayout.addWidget(self.label_5, 0, 0, 1, 1)
self.label = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setFamily(" Regular script ")
font.setPointSize(14)
self.label.setFont(font)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
self.label_2 = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setFamily(" Regular script ")
font.setPointSize(14)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
self.label_3 = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setFamily(" Regular script ")
font.setPointSize(14)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
self.lineEdit_3 = QtWidgets.QLineEdit(self.widget)
self.lineEdit_3.setObjectName("lineEdit_3")
self.gridLayout.addWidget(self.lineEdit_3, 3, 1, 1, 1)
self.toolButton = QtWidgets.QToolButton(self.widget)
self.toolButton.setObjectName("toolButton")
self.gridLayout.addWidget(self.toolButton, 3, 2, 1, 1)
self.pushButton = QtWidgets.QPushButton(self.widget)
font = QtGui.QFont()
font.setFamily("Arial")
font.setPointSize(12)
self.pushButton.setFont(font)
self.pushButton.setIconSize(QtCore.QSize(20, 20))
self.pushButton.setObjectName("pushButton")
self.gridLayout.addWidget(self.pushButton, 4, 1, 1, 1)
self.comboBox = QtWidgets.QComboBox(self.widget)
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.gridLayout.addWidget(self.comboBox, 0, 1, 1, 1)
self.lineEdit_2 = QtWidgets.QLineEdit(self.widget)
font = QtGui.QFont()
font.setFamily(" Regular script ")
font.setPointSize(14)
self.lineEdit_2.setFont(font)
self.lineEdit_2.setObjectName("lineEdit_2")
self.gridLayout.addWidget(self.lineEdit_2, 2, 1, 1, 1)
self.lineEdit = QtWidgets.QLineEdit(self.widget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lineEdit.sizePolicy().hasHeightForWidth())
self.lineEdit.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily(" Regular script ")
font.setPointSize(14)
self.lineEdit.setFont(font)
self.lineEdit.setText("")
self.lineEdit.setObjectName("lineEdit")
self.gridLayout.addWidget(self.lineEdit, 1, 1, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 500, 23))
self.menuBar.setObjectName("menuBar")
self.menu = QtWidgets.QMenu(self.menuBar)
self.menu.setObjectName("menu")
self.menu_2 = QtWidgets.QMenu(self.menu)
self.menu_2.setObjectName("menu_2")
self.menu_3 = QtWidgets.QMenu(self.menu)
self.menu_3.setObjectName("menu_3")
MainWindow.setMenuBar(self.menuBar)
self.action41 = QtWidgets.QAction(MainWindow)
self.action41.setObjectName("action41")
self.action4 = QtWidgets.QAction(MainWindow)
self.action4.setObjectName("action4")
self.action = QtWidgets.QAction(MainWindow)
self.action.setObjectName("action")
self.actionVison_1_4 = QtWidgets.QAction(MainWindow)
self.actionVison_1_4.setObjectName("actionVison_1_4")
self.action_4 = QtWidgets.QAction(MainWindow)
self.action_4.setObjectName("action_4")
self.menu_2.addAction(self.actionVison_1_4)
self.menu_3.addAction(self.action_4)
self.menu.addAction(self.menu_2.menuAction())
self.menu.addAction(self.menu_3.menuAction())
self.menuBar.addAction(self.menu.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
################button Button click event callback function ################
self.toolButton.clicked.connect(self.msg)
def msg(self, Filepath):
m = QtWidgets.QFileDialog.getExistingDirectory(None, " Select a folder ", "C:/") # Starting path
self.lineEdit_3.setText(m)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", " Wind falling picture crawler "))
self.label_5.setText(_translate("MainWindow", " Crawl to the website :"))
self.label.setText(_translate("MainWindow", " Image search words :"))
self.label_2.setText(_translate("MainWindow", " Crawling quantity :"))
self.label_3.setText(_translate("MainWindow", " Save address :"))
self.toolButton.setText(_translate("MainWindow", "..."))
self.pushButton.setText(_translate("MainWindow", " To start generating "))
self.comboBox.setItemText(0, _translate("MainWindow", "bing"))
self.comboBox.setItemText(1, _translate("MainWindow", "baidu"))
self.menu.setTitle(_translate("MainWindow", " Related information "))
self.menu_2.setTitle(_translate("MainWindow", " Version number "))
self.menu_3.setTitle(_translate("MainWindow", " developer "))
self.action41.setText(_translate("MainWindow", "41"))
self.action4.setText(_translate("MainWindow", " Version number "))
self.action.setText(_translate("MainWindow", " developer "))
self.actionVison_1_4.setText(_translate("MainWindow", "Vison:2.4"))
self.action_4.setText(_translate("MainWindow", " The wind blows the fallen leaves "))
from PyQt5.QtWidgets import QApplication,QMainWindow
import sys
if __name__=='__main__':
app=QApplication(sys.argv)
MainWindow=QMainWindow()
ui=Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit((app.exec_()))
边栏推荐
- Customer case | student education relies on observation cloud to create a new ecosystem of observable Smart Education
- 基于信心上界蒙特卡洛搜索树(UCT)实现四子棋
- Kalibr calibration realsensed435i -- multi camera calibration
- Novice online interview [Hangzhou multi tester] [Hangzhou multi tester _ Wang Sir]
- Shardingsphere JDBC keyword problem
- 【无标题】
- Dao:op token and non transferable NFT are committed to building a new digital democracy
- Hcia-r & s self use notes (18) campus network architecture foundation, switch working principle, VLAN principle
- Apifox--比 Postman 还好用的 API 测试工具
- After working for one year, I have some insights (written in 2017)
猜你喜欢

Shardingsphere JDBC keyword problem

实战项目:Boost搜索引擎

Too busy with scientific research to take care of your family? Chen Ting: life cannot have only one fulcrum

New employees of black maredge takeout

【HCIP】OSPF 关系建立

Do you know the common core types of magnetic ring inductors?

关于 StatefulWidget,你不得不知道的原理和要点!

Dao:op token and non transferable NFT are committed to building a new digital democracy

Esmfold: a new breakthrough in protein structure prediction after alphafold2

测试开发是开发吗?
随机推荐
New thrust of Moore's law, detailed explanation of Intel Advanced Packaging Technology!
8 other programming languages -- Recording
公有云安全性和合规性方面的考虑事项
工作一年后,我有些感悟(写于2017年)
程序员成长第二十九篇:如何激励员工?
Xinding acquires Ziguang holdings! Wanye enterprise: comprehensive transformation of integrated circuits!
MySQL 数据的导入
Introduction to Nacos as a registry and configuration center - realize remote call, dynamically obtain configuration files and database configuration information
Why am I still writing articles on CSDN? A journey of accompanying learning.
【MySQL】CentOS 7.9安装、使用MySQL-5.7.39二进制版
Basic select statement
逆袭黑马:数据库全栈工程师(DevDBOps)培训,把最好的课程送给您!
Plato Farm有望通过Elephant Swap,进一步向外拓展生态
P5469 [noi2019] robot (Lagrange interpolation, interval DP)
【HCIP】OSPF 路由计算
Interview: your most impressive bug, for example
Docker uses mysql:5.6 and owncloud image to build a personal network disk, install and build a private warehouse harbor
Esmfold: a new breakthrough in protein structure prediction after alphafold2
Network and VPC hands-on experiment
Xu Li, CEO of Shangtang Technology: the company's valuation has exceeded $7billion, so we are not in a hurry to go public