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_())
复制代码

 

posted @   modentime  阅读(1212)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 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】
点击右上角即可分享
微信分享提示