我正在尝试创建一个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)