Python 如何在没有错误的情况下关闭文件开启器?
当我单击open按钮时,GUI会给我选择文件的选项。如果关闭文件选择器,则会出现错误。我该如何防止这种情况发生Python 如何在没有错误的情况下关闭文件开启器?,python,pyqt5,Python,Pyqt5,当我单击open按钮时,GUI会给我选择文件的选项。如果关闭文件选择器,则会出现错误。我该如何防止这种情况发生 import sys from PyQt5 import QtWidgets from PyQt5.QtWidgets import QGridLayout, QWidget, QPushButton class Window(QtWidgets.QMainWindow): def __init__(self): super().__init__()
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QGridLayout, QWidget, QPushButton
class Window(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
centralWidget = QWidget()
self.setCentralWidget(centralWidget)
self.Open = QPushButton('Open')
self.Open.clicked.connect(self.open)
self.show()
layout = QGridLayout(centralWidget)
layout.addWidget(self.Open)
def open(self):
name = QtWidgets.QFileDialog.getOpenFileName(self, 'Select File')
file = open(name[0], 'r')
lines = file.readlines()
print(lines)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())
检查名称是否有效
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QGridLayout, QWidget, QPushButton
class Window(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
centralWidget = QWidget()
self.setCentralWidget(centralWidget)
self.Open = QPushButton('Open')
self.Open.clicked.connect(self.open)
self.show()
layout = QGridLayout(centralWidget)
layout.addWidget(self.Open)
def open(self):
name, _ = QtWidgets.QFileDialog.getOpenFileName(self, 'Select File')
if name: # <---
with open(name) as file:
lines = file.readlines()
print(*lines, sep='\n')
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())
导入系统
从PyQt5导入QtWidgets
从PyQt5.QtWidgets导入QGridLayout、QWidget、QPushButton
类窗口(QtWidgets.QMainWindow):
定义初始化(自):
super()。\uuuu init\uuuuu()
centralWidget=QWidget()
self.setCentralWidget(centralWidget)
self.Open=QPushButton(“打开”)
self.Open.clicked.connect(self.Open)
self.show()
布局=QGridLayout(centralWidget)
layout.addWidget(self.Open)
def打开(自):
名称,\=qtwidts.QFileDialog.getOpenFileName(self,“选择文件”)
如果名称:#