我想实现点击一个按钮后,会在主窗口的右侧显示一个子frame,并在这个子frame中添加一些文字,用pyqt5实现
时间: 2024-03-27 14:39:42 浏览: 48
好的,您可以参考下面的代码实现:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFrame, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 400, 300)
self.setWindowTitle('Main Window')
self.btn = QPushButton('Show Sub Window', self)
self.btn.move(10, 10)
self.btn.clicked.connect(self.showSubWindow)
self.subWindow = QFrame(self)
self.subWindow.setGeometry(150, 10, 240, 280)
self.subWindow.hide()
self.subLabel = QLabel('This is sub window.', self.subWindow)
self.subLabel.move(10, 10)
def showSubWindow(self):
self.subWindow.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
```
在这个代码中,我们首先创建了一个主窗口,并在主窗口中添加了一个按钮。当用户点击这个按钮时,我们通过 `showSubWindow` 函数显示一个子窗口,即 `subWindow`。在 `subWindow` 中,我们添加了一个 `subLabel` 标签,用于显示一些文本内容。
值得注意的是,我们在程序初始化时,通过 `self.subWindow.hide()` 将 `subWindow` 隐藏了起来。这是因为我们希望在用户点击按钮后才显示子窗口。
您可以将该代码粘贴到您的编辑器中运行,看看效果如何。如果您有任何疑问,请随时向我提出。
阅读全文