• 4436阅读
  • 5回复

[提问]关于在主窗口中弹出附加窗口的问题 [复制链接]

上一主题 下一主题
离线zhsj
 

只看楼主 倒序阅读 楼主  发表于: 2011-08-07
我想在程序被打开时候弹出一个小窗口,怎么做呢?
我先将显示小窗口的代码放在主窗口的建构函数中,(是这样称呼吗?)
  1. MainWindow::MainWindow(QWidget *parent) :
  2.     QMainWindow(parent),
  3.     ui(new Ui::MainWindow)
  4. {
  5.    ui->setupUi(this);
  6.   if (!d)
  7.            d = new Dialog(this);
  8.           }
  9.      d->show();
  10.      d->raise();
  11.     d->activateWindow();


程序执行不起来...只是为什么呢?是不是只有放在main里才可以?另外setupui的作用是什么?谢谢大家~


我把那段代码放在mainwindow的槽里也不能运行,执行到show时候会报错,不知道为什么...



再次补充,我放弃指针在头文件中直接使用Dialog d ,而不是Dialog *d,在程序中就用show发现可以通过了...






离线wxj120bw

只看该作者 1楼 发表于: 2011-08-07
回 楼主(zhsj) 的帖子
最好不要在构造函数调用对话框的show函数,在构造函数里调用哪个QTimer::sigleSlot(),来触发对话框show函数。setupui看assitant帮助。
离线zhsj

只看该作者 2楼 发表于: 2011-08-07
回 1楼(wxj120bw) 的帖子
谢谢~我后来把该段代码放在了一个槽中,但是也不行...在执行到show的时候会终止...
离线wxj120bw

只看该作者 3楼 发表于: 2011-08-07
回 2楼(zhsj) 的帖子
程序发生了异常吗
离线zhsj

只看该作者 4楼 发表于: 2011-08-07
回 3楼(wxj120bw) 的帖子
程序卡住了...然后自动推出,在debug下会弹出如下


我放弃指针,在头文件中直接使用Dialog d ,而不是Dialog *d,在程序中就用show发现可以通过了...
离线wxj120bw

只看该作者 5楼 发表于: 2011-08-07
回 4楼(zhsj) 的帖子
那个错误是段出错 可能是指针引起的
快速回复
限100 字节
 
上一个 下一个