PyQt:连接对话框中的按钮

用户名

我正在编写我的第一个PyQt程序,但是按钮有问题。我阅读了其他一些问答,但无法解决。

基本上,我有一个带有菜单栏的主窗口。通过单击菜单项“ actionSelect”,将打开一个名为SelectFiles的新对话框。它包含一个名为“ ChooseDirButton”的按钮,该按钮应打开选择目录小部件,并用所选目录更改“ ShowPath” linedit文本。

我的代码如下所示:

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys

import TeraGui

class MainWindow(QMainWindow, TeraGui.Ui_MainWindow):
    path = ""

    def __init__(self, parent=None):       
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.actionSelect.triggered.connect(self.Select)

    def Select(self):
        dialog = QDialog()
        dialog.ui = TeraGui.Ui_SelectFiles()
        dialog.ui.setupUi(dialog)
        dialog.setAttribute(Qt.WA_DeleteOnClose)
        dialog.exec_()

    def ChooseDirectory():
        global path
        path = str(QFileDialog.getExistingDirectory(self, "Select Directory"))
        self.ShowPath.setText(path)

app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()

单击按钮“ ChooseDirButton”时,我无法执行ChooseDirectory方法。我试图连接它们,但我不了解正确的语法。此外,ChooseDirectory方法也可能有问题。我使用Qt Designer创建了GUI,然后使用“ import TeraGui”命令将其导入。

ekhumoro

看起来您需要为对话框创建一个子类,就像为主窗口创建一样。

没有您的ui模块,我实际上无法测试它,但是这样的事情应该可以工作:

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys

import TeraGui

class MainWindow(QMainWindow, TeraGui.Ui_MainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.actionSelect.triggered.connect(self.Select)

    def Select(self):
        dialog = Dialog(self)
        dialog.exec_()
        self.ShowPath.setText(dialog.path)

class Dialog(QDialog, TeraGui.Ui_SelectFiles):
    def __init__(self, parent=None):
        super(Dialog, self).__init__(parent)
        self.setAttribute(Qt.WA_DeleteOnClose)
        self.setupUi(self)
        self.ChooseDirButton.clicked.connect(self.ChooseDirectory)
        self.path = ''

    def ChooseDirectory(self):
        self.path = str(QFileDialog.getExistingDirectory(
            self, "Select Directory"))

app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PyQt:从QDesigner和“连接”按钮包装对话框

来自分类Dev

Pyqt中的Qfile对话框

来自分类Dev

确定按钮在对话框中

来自分类Dev

PyQt:OSX中缺少对话框的最小化窗口按钮

来自分类Dev

PyQt:OSX中缺少对话框的“最小化窗口”按钮

来自分类Dev

单击 PyQt5 中的按钮关闭自定义输入对话框

来自分类Dev

如何将按钮连接到对话框,该对话框将使用用户输入在FrameLayout中编辑TextView?

来自分类Dev

对话框的div按钮单击对话框中的jquery for循环不起作用

来自分类Dev

子对话框未显示在PyQt5中

来自分类Dev

在对话框中在android中创建动态按钮

来自分类Dev

在对话框中在android中创建动态按钮

来自分类Dev

在vba对话框中更改是/否按钮的语言

来自分类Dev

JavaFX ControlFX对话框中的“动作按钮” css样式

来自分类Dev

“警报”对话框中的JavaFX默认重点按钮

来自分类Dev

动态更改警报对话框中的按钮文本

来自分类Dev

在默认的TouchID对话框中更改“取消”按钮的文本

来自分类Dev

在对话框中的按钮下添加文本

来自分类Dev

如何在MFC对话框中添加关闭按钮

来自分类Dev

引导模式对话框中的默认按钮

来自分类Dev

在对话框中的按钮上捕获单击事件

来自分类Dev

在Android Xamarin中设置对话框按钮clicklistener

来自分类Dev

Android平面按钮未显示在对话框中

来自分类Dev

对话框中按按钮时文本未更新

来自分类Dev

自定义对话框中的按钮| 安卓

来自分类Dev

禁用Jquery UI对话框中的按钮?

来自分类Dev

如何在MFC对话框中添加关闭按钮

来自分类Dev

单击检查Google服务对话框中的更新按钮

来自分类Dev

单击jQuery对话框中的按钮时出错

来自分类Dev

对话框中按钮周围的多余填充

Related 相关文章

热门标签

归档