qt写一个open弹出一个新的窗口,open变close新窗口关闭close变open
时间: 2024-05-01 21:22:20 浏览: 99
window.open()弹出居中的窗口
以下是一个简单的实现示例:
在主窗口的头文件中,定义一个槽函数 `on_openCloseButton_clicked()`:
```cpp
private slots:
void on_openCloseButton_clicked();
```
在主窗口的源文件中,实现这个槽函数:
```cpp
void MainWindow::on_openCloseButton_clicked()
{
if(ui->openCloseButton->text() == "Open")
{
// 创建一个新的窗口
newWindow = new QDialog(this);
newWindow->setWindowTitle("New Window");
newWindow->exec();
// 更改按钮文本为 "Close"
ui->openCloseButton->setText("Close");
}
else
{
// 关闭新窗口
newWindow->close();
// 更改按钮文本为 "Open"
ui->openCloseButton->setText("Open");
}
}
```
在主窗口的 UI 界面中,添加一个按钮,并将它的 `clicked()` 信号连接到 `on_openCloseButton_clicked()` 槽函数:
```cpp
ui->openCloseButton->setText("Open");
connect(ui->openCloseButton, SIGNAL(clicked()), this, SLOT(on_openCloseButton_clicked()));
```
这样,当用户点击按钮时,如果按钮文本为 "Open",则创建一个新窗口并将按钮文本更改为 "Close";如果按钮文本为 "Close",则关闭新窗口并将按钮文本更改为 "Open"。
阅读全文