【问题标题】:Get text from FileDialog Python\Qt从 FileDialog Python\Qt 获取文本
【发布时间】:2018-11-25 00:28:37
【问题描述】:

我对 Python 中的 Qt 很陌生,我需要知道如何从文件对话框中获取一个目录路径并将其显示在我的 ui 内的文本框中。

class ControllerLibraryUI(QtWidgets.QDialog):
    def __init__(self):
        super(ControllerLibraryUI, self).__init__()
        self.setWindowTitle('Controller Window')
        self.buildUI()

    def buildUI(self):
        layout = QtWidgets.QVBoxLayout(self)
        textWidget = QtWidgets.QWidget()
        textLayout = QtWidgets.QHBoxLayout(textWidget)
        layout.addWidget(textWidget)
        self.saveNameField = QtWidgets.QTextEdit()
        textLayout.addWidget(self.saveNameField)
        btnWidget = QtWidgets.QWidget()
        btnLayout = QtWidgets.QHBoxLayout(btnWidget)
        layout.addWidget(btnWidget)
        importBtn = QtWidgets.QPushButton('Import')
        importBtn.clicked.connect(self.load)
        btnLayout.addWidget(importBtn)
        closeBtn = QtWidgets.QPushButton('Close')
        closeBtn.clicked.connect(self.close)
        btnLayout.addWidget(closeBtn)

    def load(self ):
            filename = QtWidgets.QFileDialog.getOpenFileName()[0]
            print filename
    def showUI():
        try:
            ui.close()
        except:
            ui = ControllerLibraryUI()
            ui.show()
            return ui

ui = showUI()

这是基本概念。

【问题讨论】:

标签: python python-2.7 pyqt maya pymel


【解决方案1】:

对于文件对话框:

directory = QtGui.QFileDialog.getExistingDirectory(self, 'Select directory')

然后将目录变量从文本框中分配给 setText 方法

【讨论】:

  • 我用的是QtWidget.QFileDialog,有什么不同吗?
  • 或者这个str(QFileDialog.getExistingDirectory()
  • 都是一样的,只是pyqt5/pyqt4的区别
  • qfiledialog 也一样,你没有提供任何代码,所以我放了一些带有标准参数的东西。如果你不使用类,你可以摆脱自我
  • 我添加了代码,基本的想法,对不起格式,但从电话来说不可能做得更好。我添加了难以在文本框中显示文本 e 将文本框调整为一行而不是一个大正方形
猜你喜欢
  • 2023-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-25
相关资源
最近更新 更多