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