vs下简历qt项目,,新建了一个按钮,,为什么显示的时候只有对话框,没有按钮啊,

test::test(QWidget*parent,Qt::WFlagsflags):QDialog(parent,flags){ui.setupUi(this);set... test::test(QWidget *parent, Qt::WFlags flags)
: QDialog(parent, flags)
{
ui.setupUi(this);

setWindowTitle(tr("example"));

QPushButton *display = new QPushButton("display");
display->setGeometry(0,0,40,20);

connect(display,SIGNAL(clicked()),this,SLOT(showimage()));
}
刚开始研究qt,,还请各位帮帮忙
展开
 我来答
水焱新火
2014-01-16 · TA获得超过256个赞
知道小有建树答主
回答量:144
采纳率:100%
帮助的人:128万
展开全部
display->setParent(this);少了这个,你new的时候没有指定父窗口,就要设置一下,不然他属于桌面窗口,但是button又不能显示在桌面,就看不到了
追问
十分感谢,,像你说的那样加上那个就好了,,我还想问下如果像你说的如果new的时候指定父窗口,应该怎样弄呢,,麻烦写一下,我再仔细研究研究,,才开始接触还有很多不懂,承蒙指教
追答
这要从构造函数说起,控件基本都继承自QWidget,button也一样,那么他就默认有一个构造QPushButton(QWidget *parent=0);,那么就是说,new QPushButton(this);他就传递了父窗口,
同时,他还有 其他构造函数,而你用的是这个QPushButton(const QString &text, QWidget *parent=0);,第一个参数是文本,第二个就是父窗口,因为他默认0,而你也没有传递,他就设置父窗口为桌面了
多去看看pushButton的头文件和帮助文档就知道了,你ctrl + 单击类名就会跳到定义 去
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式