Qt程序的自定义对话框不能显示

ibmc490365333 2011-11-23 10:04:21

#include<QtGui>
class MyDlg : public QDialog
{
public:
MyDlg(const QString &);
};
MyDlg::MyDlg(const QString &a)
{
QLabel *text=new QLabel(a);
QPushButton *okbutton=new QPushButton(tr("Ok"));
QPushButton *cancelbutton=new QPushButton(tr("Cancel"));

QHBoxLayout *buttonlayout=new QHBoxLayout;
buttonlayout->addWidget(okbutton);
buttonlayout->addWidget(cancelbutton);

QVBoxLayout *vboxlayout=new QVBoxLayout;
vboxlayout->addWidget(text);
vboxlayout->addLayout(buttonlayout);

setLayout(vboxlayout);
}
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
bool ok;
QFont font = QFontDialog::getFont(&ok, QFont("Times", 12));
if (ok)
{
MyDlg choose(QObject::tr("You have chosen a font"));
choose.show();
}
else
{
MyDlg choose(QObject::tr("default font"));
choose.show();
}
return app.exec();
}

各位大神看一下吧,刚刚学Qt,自己动手设计的小程序,为什么运行的时候choose对话框没有显示出来啊。刚开始学Qt,各种不懂啊
...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
柳天赐 2012-07-05
  • 打赏
  • 举报
回复

蟹子 2011-11-23
  • 打赏
  • 举报
回复
离开if语句,MyDlg对象就销毁了

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧