3
在Qt Designer 5中,如何创建一个信号来打开QFileDialog
?我正在使用Python和PyQt。我尝试用“编辑信号/插槽”创建信号,我可以选择我想要的发件人按钮,但是我无法选择任意函数作为接收器,只有列表中存在可用的小部件。如何创建一个信号在Qt Designer中打开QFileDialog?
在Qt Designer 5中,如何创建一个信号来打开QFileDialog
?我正在使用Python和PyQt。我尝试用“编辑信号/插槽”创建信号,我可以选择我想要的发件人按钮,但是我无法选择任意函数作为接收器,只有列表中存在可用的小部件。如何创建一个信号在Qt Designer中打开QFileDialog?
为了创建定制信号/插槽,以备后用在你的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_()
或者你可以绕过所有的繁琐程序设计师,只是添加行'self.mybutton.clicked.connect(self.mybutton_clicked)'来的'__init __()'结束。 – ekhumoro
我完全同意。我猜想Qt设计者需要完成这项任务。 – jgorosdev
我需要在“更改信号/插槽...”对话框中点击绿色的“+”来添加'mybutton_clicked()'功能,对吧? – Kolargol00