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

如题,本着学习的态度,使用纯代码,没有使用ui界面来进行操作。先在创建的mainwindow界面通过一个button的槽new了一个弹窗(discoverDialog),... 如题,本着学习的态度,使用纯代码,没有使用ui界面来进行操作。
先在创建的mainwindow界面通过一个button的槽new了一个弹窗(discoverDialog),然后在弹窗中创建了一个取消按钮想要关闭弹窗(bt2).
我直接在.cpp的构造函数中创建connect(bt2,SIGNAL(clicked()),discoverDialog,SLOT(close()));
因为close和clicked都是通用的,所以这么做应该是ok的吧??

其次,我也试过创建SLOT函数,但是两种做法,结果都是无法通过点击bt2按钮关闭弹窗。

请各路大神指教指教。是不是因为通过按钮激活的弹窗,所以信号这么直接传传不出来啊?要怎么做才能搞定?
弹窗是在按钮的槽函数里new出来的。
展开
 我来答
电子科技小百科
高粉答主

2020-05-06 · 繁杂信息太多,你要学会辨别
知道答主
回答量:4367
采纳率:0%
帮助的人:66.6万
展开全部

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的安装。

匿名用户
推荐于2017-11-22
展开全部
这句是你的问题吧
希望在窗口中点击按钮关闭弹窗,但是直接用槽失败了

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

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

希望做到点击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();
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dede1c2
2016-08-31 · 超过19用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:25.7万
展开全部
感觉好乱。。。多贴点代码出来
追问

好的。

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



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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式