pyqt5 按钮栏如何收缩
时间: 2023-08-18 08:09:01 浏览: 103
在PyQt5中,你可以使用QToolButton和QToolBar来创建一个可以收缩的按钮栏。下面是一个示例代码:
```python
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QMainWindow, QToolBar, QToolButton, QVBoxLayout, QWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Collapsible Button Bar Example")
self.central_widget = QWidget(self)
self.setCentralWidget(self.central_widget)
self.layout = QVBoxLayout(self.central_widget)
self.toolbar = QToolBar(self.central_widget)
self.toolbar.setOrientation(Qt.Vertical)
self.button1 = QToolButton()
self.button1.setText("Button 1")
self.button1.setCheckable(True)
self.button1.setChecked(True)
self.toolbar.addWidget(self.button1)
self.button2 = QToolButton()
self.button2.setText("Button 2")
self.button2.setCheckable(True)
self.toolbar.addWidget(self.button2)
self.layout.addWidget(self.toolbar)
self.toolbar.actionTriggered.connect(self.handle_action)
def handle_action(self, action):
if action.isChecked():
print(f"Button {action.text()} is checked")
else:
print(f"Button {action.text()} is unchecked")
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec()
```
在这个示例中,我们创建了一个主窗口,并在主窗口上添加一个垂直方向的工具栏 `QToolBar`。然后,我们创建了两个工具按钮 `QToolButton` 并将它们添加到工具栏中。按钮栏默认是展开的,点击按钮后可以切换按钮的选中状态。
你可以根据自己的需求修改代码,例如添加更多的按钮、自定义按钮的样式等。通过使用QToolBar和QToolButton,你可以创建一个可收缩的按钮栏,并根据需要展开或收缩按钮。
阅读全文