pyqt5 在主窗口中按button激活子窗口, 子窗口为QWidget,子窗口不能为QDialog
时间: 2024-05-08 08:17:17 浏览: 121
要在主窗口中按button激活子窗口,可以使用QMainWindow作为主窗口,然后在主窗口中创建一个QWidget作为子窗口。
以下是一个示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton
class MySubWindow(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle('Sub Window')
相关问题
pyqt5 在主窗口中按button激活子窗口, 子窗口为QWidget
可以使用QDialog来作为子窗口,在主窗口中创建一个QPushButton,然后在按钮的clicked信号中槽函数中实例化一个QDialog,并使用exec()函数来显示子窗口。以下是示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Main Window')
self.setGeometry(100, 100, 300, 200)
# 创建按钮
btn = QPushButton('Open Dialog', self)
btn.setGeometry(100, 100, 100, 30)
btn.clicked.connect(self.showDialog)
def showDialog(self):
dialog = QDialog(self)
dialog.setWindowTitle('Dialog')
dialog.setGeometry(200, 200, 200, 100)
dialog.exec_()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个名为MainWindow的主窗口,其中包含一个名为btn的QPushButton。在按钮的clicked信号中,我们调用了showDialog函数,该函数实例化了一个名为dialog的QDialog,并使用exec()函数来显示它。
您可以根据需要更改QDialog的大小、标题和其他属性来适应您的应用程序需求。
QDialog pyqt
QDialog是PyQt5中的对话框类控件,它是顶级窗口,主要用于短期任务和与用户的简短通信。QDialog可以继承自QWidget,也可以直接创建。在QDialog中,我们可以添加各种控件,例如按钮、标签、文本框等,以实现与用户的交互。同时,PyQt5还定义了一系列的标准对话框类,例如QMessageBox、QColorDialog、QFileDialog、QFontDialog等,可以方便地实现常见的对话框功能。在使用QDialog时,我们可以通过设置对话框的模态性来控制对话框的行为,例如设置为模态对话框时,用户必须先处理完对话框才能进行其他操作。
阅读全文
相关推荐














