• 5684阅读
  • 7回复

[提问]关于QDialog的基础问题 [复制链接]

上一主题 下一主题
离线ctogo
 
只看楼主 倒序阅读 楼主  发表于: 2011-02-24
我在工程中新见一个继承自QDialog的类,为什么必须创建ui文件?我不想用designer建立界面
但是我在手写代码后编译可以通过,界面却显示不出来了,这是什么原因?
我把写的代码去掉后就又可以显示了。
然后我新建了一个纯C++类,让它集成QDialog,调用resize却会报错?
本人小白新手,大侠多多指教


  1. #include "tfinddialog.h"
  2. #include "ui_tfinddialog.h"
  3. #include <QLabel>
  4. #include <QLineEdit>
  5. #include <QCheckBox>
  6. #include <QHBoxLayout>
  7. #include <QVBoxLayout>
  8. #include <QPushButton>
  9. TFindDialog::TFindDialog(QWidget *parent) :
  10.     QDialog(parent),
  11.     ui(new Ui::TFindDialog)
  12. {    ui->setupUi(this);
  13.     //----------------------------
  14.     //          UI初始化
  15.     //---------------------------
  16.     label = new QLabel(tr("Find &What?"));
  17.     lineEdit = new QLineEdit();
  18.     label->setBuddy(lineEdit);
  19.     caseCheckBox = new QCheckBox(tr("Match &case"));
  20.     backwardCheckBox = new QCheckBox(tr("Search &backward"));
  21.     findButton = new QPushButton(tr("&Find"));
  22.     findButton->setDefault(true);
  23.     findButton->setEnabled(false);
  24.     closeButton = new QPushButton(tr("&Cacel"));
  25.     QHBoxLayout *topLeftLayout = new QHBoxLayout;
  26.     topLeftLayout->addWidget(label);
  27.     topLeftLayout->addWidget(lineEdit);
  28.     QHBoxLayout *bottomLeftLayout = new QHBoxLayout;
  29.     bottomLeftLayout->addWidget(caseCheckBox);
  30.     bottomLeftLayout->addWidget(backwardCheckBox);
  31.     QVBoxLayout *rightLayout = new QVBoxLayout;
  32.     rightLayout->addWidget(findButton);
  33.     rightLayout->addWidget(closeButton);
  34.     QVBoxLayout *leftLayout = new QVBoxLayout;
  35.     leftLayout->addLayout(topLeftLayout);
  36.     leftLayout->addLayout(bottomLeftLayout);
  37.     QHBoxLayout *mainLayout = new QHBoxLayout;
  38.     mainLayout->addLayout(leftLayout);
  39.     mainLayout->addLayout(rightLayout);
  40.     setLayout(mainLayout);
  41.     resize(200,200);
  42. }
[ 此帖被ctogo在2011-02-24 13:03重新编辑 ]
[a href="http://www.ctogo.net"]My Home[/a]
离线songqiming

只看该作者 1楼 发表于: 2011-02-24
上源码 谢谢
忘掉自私非爱人
离线ctogo
只看该作者 2楼 发表于: 2011-02-24
回 1楼(songqiming) 的帖子
源码已上了。
编译通过后不显示界面
但我把UI初始化下面的东西注释掉后就OK了
[a href="http://www.ctogo.net"]My Home[/a]
离线ctogo
只看该作者 3楼 发表于: 2011-02-24
回 1楼(songqiming) 的帖子
额,谢谢,已经解决了,我好像什么都没干,它又可以显示了
[a href="http://www.ctogo.net"]My Home[/a]
离线songqiming

只看该作者 4楼 发表于: 2011-02-24
这令我很诧异...
忘掉自私非爱人
离线jdwx

只看该作者 5楼 发表于: 2011-02-24
引用第4楼songqiming于2011-02-24 14:07发表的  :
这令我很诧异...

QT编译经常有此类问题,全部删除中间文件,再编译,哈哈!
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线luoyang

只看该作者 6楼 发表于: 2011-02-25
看的我一愣一愣的,愣是不懂发生了什么事情
离线kozmers

只看该作者 7楼 发表于: 2011-02-25
Rebuild All 能解决这类莫名问题,所以要经常使用
快速回复
限100 字节
 
上一个 下一个