PyQt5 FileDialog的使用例子
加载***.ui文件可以使用:
loadUi('main_window.ui', self)
self.btnFileChoose.clicked.connect(self.getFolderName)
self.btnStart.clicked.connect(self.startRenameFiles)
其中btnStart 这些,是 ***.ui 文件里定义的控件名
videoupload.py
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'videoupload.ui' # # Created by: PyQt5 UI code generator 5.13.0 # # 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(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout.setObjectName("gridLayout") self.btnFileChoose = QtWidgets.QPushButton(self.centralwidget) font = QtGui.QFont() font.setPointSize(15) self.btnFileChoose.setFont(font) self.btnFileChoose.setObjectName("btnFileChoose") self.gridLayout.addWidget(self.btnFileChoose, 1, 3, 1, 1) self.label_3 = QtWidgets.QLabel(self.centralwidget) font = QtGui.QFont() font.setPointSize(15) self.label_3.setFont(font) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) self.txtFilePath = QtWidgets.QLineEdit(self.centralwidget) font = QtGui.QFont() font.setPointSize(15) self.txtFilePath.setFont(font) self.txtFilePath.setObjectName("txtFilePath") self.gridLayout.addWidget(self.txtFilePath, 1, 1, 1, 1) self.label_2 = QtWidgets.QLabel(self.centralwidget) font = QtGui.QFont() font.setPointSize(15) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1) self.label = QtWidgets.QLabel(self.centralwidget) font = QtGui.QFont() font.setPointSize(20) self.label.setFont(font) self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 1, 1, 1) self.btnStart = QtWidgets.QPushButton(self.centralwidget) font = QtGui.QFont() font.setPointSize(15) self.btnStart.setFont(font) self.btnStart.setObjectName("btnStart") self.gridLayout.addWidget(self.btnStart, 2, 3, 1, 1) self.txtStatus = QtWidgets.QTextEdit(self.centralwidget) font = QtGui.QFont() font.setPointSize(15) self.txtStatus.setFont(font) self.txtStatus.setObjectName("txtStatus") self.gridLayout.addWidget(self.txtStatus, 3, 1, 1, 1) 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", "VideoUpload")) self.btnFileChoose.setText(_translate("MainWindow", "选择")) self.label_3.setText(_translate("MainWindow", "运行结果:")) self.label_2.setText(_translate("MainWindow", "文件路径:")) self.label.setText(_translate("MainWindow", "视频上传监控")) self.btnStart.setText(_translate("MainWindow", "开始"))
main.py
import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtWidgets import QApplication, QMainWindow import videoupload class WindowResourceInit(QMainWindow): def windowInit(self): ui.btnFileChoose.clicked.connect(self.getAccountFile) def getAccountFile(self): fileName, fileType = QFileDialog.getOpenFileName(self, "打开Excel文件", "c:\\", "Excel 文件 (*.xlsx)") print(fileName) ui.txtFilePath.setText(str(fileName)) if __name__ == '__main__': app = QApplication(sys.argv) MainWindow = QMainWindow() ui = videoupload.Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() WindowResourceInit(MainWindow).windowInit() sys.exit(app.exec_())
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】