• 4518阅读
  • 2回复

[提问]QWidget的问题。 [复制链接]

上一主题 下一主题
离线17611904
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-27
  1. int main(int argc, char *argv[])
  2. {
  3.     QApplication a(argc, argv);
  4.     QWidget wtq;
  5.     QHBoxLayout lay(&wtq);
  6.     QTextEdit *txt = 0;
  7.     for(int stretch = 1; stretch <= 5; ++stretch)
  8.     {
  9.         txt = new QTextEdit(&wtq);
  10.         lay.addWidget(txt, stretch);
  11.     }
  12.     wtq.show();
  13.     return a.exec();
  14. }


我直接在main.cpp这样写,则出现的是依次增宽的5个textedit.
但是如果我定义一个类,在构造函数里写,就只出现一个了,而且是在左上角,这是为什么呢?
  1. int main(int argc, char *argv[])
  2. {
  3.     QApplication a(argc, argv);
  4.     WW b;
  5.     b.show();
  6.     return a.exec();
  7. }
  8. WW::WW()
  9. {
  10.     QHBoxLayout lay(this);
  11.     QTextEdit *txt = 0;
  12.     for(int stretch = 1; stretch <= 5; ++stretch)
  13.     {
  14.         txt = new QTextEdit;
  15.         lay.addWidget(txt, stretch);
  16.     }
  17. }


求教~~

离线浪漫天使
只看该作者 1楼 发表于: 2011-04-27
你把你的窗口最大化看看
离线roywillow

只看该作者 2楼 发表于: 2011-04-27
txt = new QTextEdit;
没有指定parent,估计会造成内存泄露吧……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个