设置通过包装函数创建的窗口小部件的按钮信号

时间:2018-07-16 23:00:46

标签: python pyqt

我正在尝试创建一个GUI(请参阅随附的屏幕截图),其中包含约6组小部件,其中每组小部件均包含QLabel,QLineEdit和QPushButton。

我不是写一遍又一遍的小部件和布局,而是想写一个包装函数,这样我只需要写6行就可以了。

但是,尽管这对于小部件的创建对我来说很有效,但我意识到我不知道小部件的名称,因此无法为按钮设置信号。

如果我决定使用这种包装方法,设置信号的最佳方法是什么?

以下是我正在尝试实现的屏幕截图以及我的代码:

class MyDevTool(QtGui.QWidget):
    def __init__(self, parent=None):
        super(MyDevTool, self).__init__(parent)
        self._create_ui()

    def _create_hbox_layout(self, label):
        h_layout = QtGui.QHBoxLayout()
        label = QtGui.QLabel(label)
        label.setFixedWidth(80)
        line_edit = QtGui.QLineEdit()
        push_btn = QtGui.QPushButton("<<<")

        h_layout.addWidget(label)
        h_layout.addWidget(line_edit)
        h_layout.addWidget(push_btn)

        return h_layout


    def _create_ui(self):
        main_layout = QtGui.QVBoxLayout()
        main_layout.addLayout(
            self._create_hbox_layout("Input Directory")
        )
        main_layout.addLayout(
            self._create_hbox_layout("Output Directory")
        )

        self.setLayout(main_layout)

ui

0 个答案:

没有答案