在pyqt中如何设计一个按钮,使得点击这个按钮时跳转到新的窗口,新的窗口有一个按钮和一个文本框
时间: 2024-03-11 13:48:52 浏览: 122
在PyQt中,可以通过在主窗口中添加一个QPushButton按钮,并为该按钮添加clicked信号的槽函数,从而实现点击按钮时跳转到新的窗口。同时可以在新的窗口中添加一个QPushButton按钮和一个QLineEdit文本框。具体步骤如下:
1. 在Qt Designer中设计一个新的窗口,命名为NewWindow,添加一个QPushButton按钮和一个QLineEdit文本框。
2. 在主窗口的UI文件中添加一个QPushButton按钮,命名为btnNewWindow,并将其放置在适当的位置。
3. 在代码中导入NewWindow窗口的UI文件,例如NewWindow.py,然后在主窗口的初始化函数中创建一个NewWindow对象,并将其设置为新窗口的父窗口。
4. 在主窗口的初始化函数中为btnNewWindow按钮添加clicked信号的槽函数,该槽函数中创建NewWindow对象并显示。
下面是一个示例代码:
```python
# 导入NewWindow窗口的UI文件
from NewWindow import Ui_NewWindow
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
# 创建一个NewWindow对象,并设置为新窗口的父窗口
self.new_window = QtWidgets.QWidget(self)
self.ui = Ui_NewWindow()
self.ui.setupUi(self.new_window)
# 添加一个QPushButton按钮,并为其添加clicked信号的槽函数
self.btnNewWindow = QtWidgets.QPushButton(self)
self.btnNewWindow.setText("New Window")
self.btnNewWindow.setGeometry(QtCore.QRect(100, 100, 100, 30))
self.btnNewWindow.clicked.connect(self.slot_btnNewWindow_clicked)
def slot_btnNewWindow_clicked(self):
# 创建一个NewWindow对象,并显示
new_window = QtWidgets.QWidget(self)
new_window.setGeometry(200, 200, 300, 200)
btn = QtWidgets.QPushButton('Button', new_window)
btn.setGeometry(100, 50, 80, 30)
line_edit = QtWidgets.QLineEdit(new_window)
line_edit.setGeometry(100, 100, 150, 30)
new_window.show()
```
在这个示例代码中,我们首先导入了NewWindow窗口的UI文件,然后在MainWindow的初始化函数中创建了一个NewWindow对象,并设置为新窗口的父窗口。接着,我们添加了一个QPushButton按钮,并为其添加了clicked信号的槽函数slot_btnNewWindow_clicked。在该槽函数中,我们创建了一个新的QWidget对象new_window,并为这个窗口添加了一个QPushButton按钮和一个QLineEdit文本框。最后,我们将新的QWidget对象new_window显示出来。
这样,当用户点击btnNewWindow按钮时,就会跳转到新的窗口NewWindow,并显示一个QPushButton按钮和一个QLineEdit文本框。
阅读全文