qt QTimeWidget如何收起?
时间: 2023-07-13 18:36:57 浏览: 97
QTimeEdit 是 Qt 中用于输入和展示时间的控件,它可以通过设置 setEnabled(false) 或 setVisible(false) 方法来隐藏。如果你想要让用户在需要时展开 QTimeEdit,可以将其放在一个 QToolButton 控件中,当用户点击 QToolButton 时,展开 QTimeEdit,再次点击 QToolButton 时,收起 QTimeEdit。
以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QTimeEdit, QToolButton, QHBoxLayout
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.time_edit = QTimeEdit(self)
self.time_edit.setEnabled(False)
self.tool_button = QToolButton(self)
self.tool_button.setText('Select Time')
self.tool_button.setCheckable(True)
self.tool_button.toggled.connect(self.on_tool_button_toggled)
layout = QHBoxLayout(self)
layout.addWidget(self.time_edit)
layout.addWidget(self.tool_button)
def on_tool_button_toggled(self, checked):
self.time_edit.setEnabled(checked)
if __name__ == '__main__':
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
```
在这个示例中,我们创建了一个 QTimeEdit 和一个 QToolButton,并将它们放在一个水平布局中。当用户点击 QToolButton 时,我们会调用 on_tool_button_toggled 方法,该方法会将 QTimeEdit 的 enabled 属性设置为 QToolButton 的 checked 属性。这样,当 QToolButton 被点击时,QTimeEdit 会展开,否则会被收起。
阅读全文