当前位置: 代码迷 >> QT开发 >> Qt:关于弹出对话框返回值!该怎么解决
  详细解决方案

Qt:关于弹出对话框返回值!该怎么解决

热度:79   发布时间:2016-04-25 04:49:21.0
Qt:关于弹出对话框返回值!!!
在单击按钮时,弹出一个对话框!

弹出对话框配置如下:

1.对话框上有四个QPushButton ,分别是 1,2,3,4

2.单击任何一个按钮就能关闭该对话框,并返回单击的是哪一个按钮!

例如:单击按钮1,关闭该对话框,主界面受到是单击按钮1。

请教:如何才能知道单击的是那个按钮来关闭的对话框哪??

QDialog 的返回值
QDialog::Accepted 1
QDialog::Rejected 0

只能表明单击的是不是确定,如何才能判断单击的其它按钮哪?

------解决方案--------------------
自己写一个signal
------解决方案--------------------
你把四个按钮都连接一个槽函数,然后判断下焦点在哪个按钮上面,打印出来就好了啊。槽函数里面可以这样写void Widget::slot_pushbutton()
{
if(button1->hasFocus())
{
qDebug() << "1";
}else if(button2->hasFocus())
{
qDebug() << "2";
}
exit(0);
}
------解决方案--------------------
主界面写个槽函数,根据收到的信号的参数就可以判断是哪个按钮,然后执行想要的操作就可以了、

望采纳啊,楼主,很简单的,好吃不贵啊
------解决方案--------------------
没必要那么麻烦吧,对话框里加一个公有方法不就行了!
C/C++ code
class Dialog : public QDialog{...public:    int value() const;private:    int m_value;   // 按钮按下时设置这个值,并关闭对话框...};
  相关解决方案