我有以下 pyside 小部件代码:
class NavigationHeadWidget(QWidget):
def __init__(self):
QWidget.__init__(self)
self._current_page = 0
self._last_page = 0
self._pageination_string = "page %s of %s"
self._pagination_label = QLabel()
self._pagination_label.setText(self._pageination_string % (str(self._current_page), str(self._last_page)))
self.setMinimumWidth(400)
self._header_buttons_prev = QPushButton("b_prev")
self._header_buttons_next = QPushButton("b_next")
self._header_buttons_prev.setText("prev")
self._header_buttons_next.setText("next")
self._header_buttons_next.setMaximumWidth(40)
self._header_buttons_prev.setMaximumWidth(40)
self._layout = QHBoxLayout()
self._layout.addWidget(self._header_buttons_prev,Qt.AlignLeft)
self._layout.addWidget(self._pagination_label,Qt.AlignCenter)
self._layout.addWidget(self._header_buttons_next,Qt.AlignRight)
self.setLayout(self._layout)
这导致:
我希望文本在按钮之间居中,但它离开了对齐。
如果我注释掉我得到的标签:
我希望按钮左右对齐,但他们似乎没有这样做。
获得我想要的行为的正确语法是什么?
另外我如何让按钮自动调整大小到它包含的文本?必须在上面的代码中硬编码大小。