首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

程序主窗口调用对话框时无法显示的有关问题

2013-10-17 
程序主窗口调用对话框时无法显示的问题本帖最后由 u011434036 于 2013-09-24 15:39:53 编辑我从QDialog类

程序主窗口调用对话框时无法显示的问题
本帖最后由 u011434036 于 2013-09-24 15:39:53 编辑 我从QDialog类派生出了自己的类,且叫myDialog吧,类的头文件在mydialog.h,实现文件在mydialog.cpp中,然后我又在QMainWindow中定义了一个槽函数,槽函数功能是创建一个myDialog对象叫dialog并使其可见,现在把QMainWindow中的一个QAction对象的triggered()信号上面的槽函数connect起来,实现点击QAction对象会出现myDialog窗体,但是直接用dialog.show()窗体无法显示,而用if(dialog.exec()){dialog.show()}时则可以看到dialog窗体,请各位高手帮我解释一下原因,感激不尽~~~(稍微有点长,请耐心看完)


//mainwindow.cpp
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent)
{
    setupUi(this);
      connect(action_cap,SIGNAL(triggered()),this,SLOT(capture_setting()));
}
void MainWindow::capture_setting()
{
    myDialog dialog(this);
    dialog.show();
}


//mydialog.h
class myDialog:public QDialog,public Ui::myDialog
{
    Q_OBJECT
public:
    myDialog(QWidget *parent=0);
};


//mydialog.cpp
myDialog::myDialog(QWidget *parent):QDialog(parent)
{
    setupUi(this);
}

[解决办法]
    myDialog dialog(this);
    dialog.show();

show完 马上释放了 , 所以没有.这好像是老问题了...


myDialog *dialog = new myDialog(this);
dialog->show();


试试


[解决办法]

myDialog dialog;
dialog.exec();

热点排行