QT5 在mainwindows窗口下点击按钮弹出新窗口,希望在窗口中点击按钮关闭弹窗,但是直接用槽失败了。

发布网友 发布时间:2022-04-23 16:19

我来回答

3个回答

热心网友 时间:2023-10-31 08:14

1、首先Qt安装包较大,最后使用下载工具进行下载,下载时间视所在网络带宽而定。

2、下载完后,点击“打开”,直接运行Qt安装程序,点击“Next”继续安装。

3、在安装程序界面,输入注册的Qt用户名和密码,勾选“I accept the service terms.”后,点击“Next”进入下一步。

4、在安装文件夹处选择你想要安装的目录位置,勾选“Associate common file types with Qt Creatore.”表示关联,点击“下一步”继续。

5、最后在“正在完成Qt 向导”页面,取消“Lauch Qt Creator”,点击“完成”即完成Qt的安装。

热心网友 时间:2023-10-31 08:14

这句是你的问题吧
希望在窗口中点击按钮关闭弹窗,但是直接用槽失败了

那你贴的代码明显不是关闭窗口的,麻烦吧你的关键代码贴出来。追问

是的,如你所说,直接在构造函数中使用槽,失败了

希望做到点击adddevic窗口的按钮弹出discoverDialog窗口,点击该弹窗中的bt2按钮关闭弹窗。

关于关闭窗口的代码我就只有这一句。

不好意思,我是小白,刚刚上手不到一周。有点乱。应该怎么做?

追答

我测试了下,没问题,你是要这种效果吧

代码:

#include "widget.h"
#include "ui_widget.h"
#include <QDialog>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
    dlg = new QDialog(this);
    QPushButton * btn = new QPushButton("clicked", dlg);

    connect(btn, SIGNAL(clicked(bool)), this, SLOT(on_pushButton_clicked2()));

    dlg->setModal(true);
    dlg->show();
}

void Widget::on_pushButton_clicked2()
{
    dlg->close();
}

热心网友 时间:2023-10-31 08:15

感觉好乱。。。多贴点代码出来追问

好的。

1.这是我的槽处理代码,直接写在构造函数中,希望做到点击adddevic窗口的按钮弹出discoverDialog窗口,点击该弹窗中的bt2按钮关闭弹窗。



2.这是我的弹窗创建代码,是在adddevice窗口中一个按钮的槽函数中创建的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com