2017-02-04 34 views

回答

3

为了创建定制信号/插槽,以备后用在你的Python应用程序,你需要添加他们做的小窗口点击右键,点击变化信号/插槽...,如图所示下一张图片:

你需要添加所需插槽,想与mybutton_clicked()功能所示:

迄今为止,创建时隙,并且可以在信号&槽孔编辑标签来使用它。一旦在这个标签中,点击+按钮时,接收器插槽存在如果先前步骤做对,如下所示:

最后,整合所请求QFileDialog到按钮按下方法,它是那么容易,因为这样的:

from PyQt5.QtWidgets import QMainWindow, QApplication, QFileDialog 
from PyQt5 import uic 
import sys 


form_class = uic.loadUiType("mainWindow.ui")[0] # Load the UI 

class MyWindowClass(QMainWindow, form_class): 
    def __init__(self, parent=None): 
     QMainWindow.__init__(self, parent) 
     self.setupUi(self) 

    def mybutton_clicked(self): 
     options = QFileDialog.Options() 
     fileName, _ = QFileDialog.getOpenFileName(self,"QFileDialog.getOpenFileName()", "","All Files (*)", options=options) 
     if fileName: 
      print(fileName) 

app = QApplication(sys.argv) 
myWindow = MyWindowClass(None) 
myWindow.show() 
app.exec_() 
+0

或者你可以绕过所有的繁琐程序设计师,只是添加行'self.mybutton.clicked.connect(self.mybutton_clicked)'来的'__init __()'结束。 – ekhumoro

+0

我完全同意。我猜想Qt设计者需要完成这项任务。 – jgorosdev

+0

我需要在“更改信号/插槽...”对话框中点击绿色的“+”来添加'mybutton_clicked()'功能,对吧? – Kolargol00

相关问题