当前位置: 首页 > 后端技术 > Python

PyQt实现文件浏览

时间:2023-03-26 18:12:59 Python

背景课程设计GUI需要,辅以上一篇简单的看图软件。首先,定义一个常规按钮self.bt2=QPushButton('Browse',self)self.bt2.setGeometry(80,90,70,30)self.bt2.setToolTip('点击此处浏览文件')将按钮链接到文件浏览函数self.bt2.clicked.connect(self.setBrowerPath)文件浏览模块defsetBrowerPath(self):file_path,file_type=QFileDialog.getOpenFileName(self,'OpenFile','./',("Images(*.png*.xpm*.jpg)"))self.text.setText(file_path)self.text.selectAll()self.text.setFocus()的效果附录思考是否折叠功能这里好像不支持,外面都有些臃肿了,我们来看一下示例(QWidget):def__init__(self):super().__init__()self.initUI()#self.filename='a.jpg'definitUI(self):self.setGeometry(300、300、300、150)self.setWindowTitle('读取图像')self.setWindowIcon(QIcon('res/faye.jpg'))self.bt1=QPushButton('read',self)self.bt1.setGeometry(150,90,70,30)self.bt1.setToolTip('点击此处阅读图片')self.bt1.clicked.connect(self.showMessage)self.bt2=QPushButton('Browse',self)self.bt2.setGeometry(80,90,70,30)self.bt2.setToolTip('点击此处浏览文件')self.bt2.clicked.connect(self.setBrowerPath)self.text=QLineEdit('这里输入文件路径(不要包含中文)',self)self.text.selectAll()self.text.setFocus()self.text.setGeometry(25,50,250,30)self.show()defshowMessage(self):filename=self.text.text()#print(filename)img=cv2.imread(文件名)img1=cv2.imread('a.jpg')iftype(img)==type(img1):QMessageBox.about(self,'小问题...','路径好像不对')self.text.selectAll()自己。text.setFocus()else:cv2.imshow(filename,img)cv2.waitKey(0)self.text.clear()self.text.setText('这里输入文件路径(不要包含中文)')self.text.selectAll()self.text.setFocus()defsetBrowerPath(self):file_path,file_type=QFileDialog.getOpenFileName(self,'打开文件','./',("Images(*.png*.xpm*.jpg)"))self.text.setText(file_path)self.text.selectAll()self.text.setFocus()defcloseEvent(self,event):reply=QMessageBox.question(self,'Confirm','Areyousuretoexit',QMessageBox.Yes|QMessageBox.No,QMessageBox.No)ifreply==QMessageBox.Yes:event.accept()else:event.ignore()if__name__=='__main__':app=QApplication(sys.argv)ex=Example()sys.exit(app.exec_())结束

最新推荐
猜你喜欢