开发环境:
Python3.5+Qt Designer+PyQt5+PyChram
先用Qt Design 绘制一个Dialog窗口,添加了一个pushButton,保存ui,用pyuic5将ui转成ui_dialog.py,其代码如下:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(160, 140, 75, 23))
self.pushButton.setObjectName("pushButton")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.pushButton.setText(_translate("Dialog", "OK"))
把ui_dialog.py一起拷贝到qdialog project下,写main函数,代码如下:
from PyQt5.QtWidgets import QFileDialog, QDialog, QApplication, QMessageBox
from ui_dialog import *
import sys
class Dialog(QDialog, Ui_Dialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.ok_btn)
def ok_btn(self):
fileName = QFileDialog.getOpenFileName(self)
file = open(fileName)
if __name__ == "__main__":
app = QApplication(sys.argv)
mainWindow = Dialog()
mainWindow.show()
sys.exit(app.exec_())
运行后弹出界面如下:
点击OK后弹出QFileDialog对话框,此时如果关闭右上角的小叉后就会报错。
感觉好像是main里面的
file = open(fileName)
出了问题。是打开的方式不对吗?
博主,你找到原因了吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。