qt中如何临时的定义一个Qdialog的实例,然后进行操作

比如我在函数get()中,要求产生一个dialog,用户输入并确认后我能获得输入内容然后进行其他操作。我知道如果直接继承dialog类是可以的,但是我希望能临时的作一个d... 比如我在函数get()中,要求产生一个dialog,用户输入并确认后我能获得输入内容然后进行其他操作。
我知道如果直接继承dialog类是可以的,但是我希望能临时的作一个dialog并自己排版,因为我的程序中会有大量的使用到弹出对话框而每一次都不同,而且都仅用一次。
展开
 我来答
玄寂道雪妖
推荐于2017-11-25 · TA获得超过568个赞
知道小有建树答主
回答量:233
采纳率:100%
帮助的人:300万
展开全部
不懂你说的自己做dialog是什么意思。但是要完成你说的功能,用QDialog就行。
比如你的get()函数中(大致方法)
MyWidget::get()
{
QDialog *temp_dialog = new QDialog(this); //get()函数中的临时dialog,get函数结束时释放内存
//下面是定义临时dialog中的控件,自己添加控件并排版
QLineEdit *context = new QLineEdit(temp_dialog);
QPushButton *ok_button = new QPushButton("OK",temp_dialog);
QPushButton *cancel_button = new QPushButton("Cancel",temp_dialog);
///排版
QHBoxLayout *layout= new QHBoxLayout;
……
temp_dialog->setLayout(layout);
////按钮事件
connect(ok_button, SIGNAL(clicked()), temp_dialog, SLOT(accept()));
connect(cancel_button, SIGNAL(clicked()), temp_dialog, SLOT(reject()));
//然后执行temp_dialog,界面上就是你自己排版的临时dialog了
if(temp_dialog->exec() == QDialog::Accepted) //确定。响应Enter和ok_button
{
//这里可以取得dialog中各控件的属性,比如QLineEdit:
QString str = context->text(); //如果希望str能用于其他函数中,就定义str是成员变量。
}
if(temp_dialog->exec() == QDialog::Rejected) //取消。响应Esc和cancel_button
{……return;}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式