[转]QT4designer的使用

导读:
  http://hi.baidu.com/3444542/blog/item/0ba78295d43e4b0d7bf48089.html
  直接使用代码来直接编写GUI无疑是非常痛苦的,好在QT提供了界面开发工具:QTdesigner。在QT的安装目录下的bin目录中,找到designer.exe,运行后就可以设计一个你所需要的QT程序界面。
  选择菜单file->new form,就会出现一个选择要创建表单类型的对话框,选择widget,然后点create按钮,就会出现一个设计状态的表单。在左边的widget box中选择Push Button,在上面点下左键按住不放拖动到设计表单上再松开左键,设计表单上就会新增一个Push Button。
  修改完表单以及Push Button的外观和大小后,可以试着增加事件响应,找到右边的Signal/Slot Editor窗口,在里面的+号上点一下,Signal/Slot Editor窗口的列表就会新增一项,然后双击新增项的sender列,选择pushButton;双击新增项的signal,选择clicked(); 双击新增项的Receiver,选择form;双击新增项的Slot,选择close()。
  完成以上工作后,保存表单。然后进入命令提示符模式,进入表单保存的目录,使用uic命令创建.H文件(要确保UIC.exe所在的目录在PATH环境变量中,UIC.exe在QT安装目录的bin目录下),命令格式如下:
  UIC -o 头文件名 UI文件名
  其中头文件名是你要输出的.h文件的名字,UI文件名就是刚才designer保存的表单文件的名字,例如:
  UIC -o form.h form.ui 就是将保存的form.ui输出form.h文件。
  需要注意的是,在QT3中使用例如UIC -o form.cpp -i form.h form.ui这样的方式来生成表单的CPP文件,但在QT4中,UIC已经作了修改,不能输出表单的CPP文件。不过如果象我使用Qdevelop的话,只要设计好UI,然后在编译的时候,会自动产生.h文件,实现动作的代码可以另外手写个cpp
  打开输出的头文件,可以看到建立的表单类的状况,我的示例的头文件内容如下:
  #ifndef FORM_H
  #define FORM_H
  #include
  #include
  #include
  #include
  #include
  #include
  class Ui_Form
  {
  public:
  QPushButton *pushButton;
  void setupUi(QWidget *Form)
  {
  if (Form->objectName().isEmpty())
  Form->setObjectName(QString::fromUtf8("Form"));
  Form->resize(400, 300);
  pushButton = new QPushButton(Form);
  pushButton->setObjectName(QString::fromUtf8("pushButton"));
  pushButton->setGeometry(QRect(40, 230, 75, 23));
  retranslateUi(Form);
  QObject::connect(pushButton, SIGNAL(clicked()), Form, SLOT(close()));
  QMetaObject::connectSlotsByName(Form);
  } // setupUi
  void retranslateUi(QWidget *Form)
  {
  Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8));
  pushButton->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
  Q_UNUSED(Form);
  } // retranslateUi
  };
  namespace Ui {
  class Form: public Ui_Form {};
  } // namespace Ui
  #endif // FORM_H
  运行DEV,新建一个Empty project,将头文件添加到工程中,然后修改main.cpp,我的示例中main.cpp源码如下:
  #include
  #include
  #include "form.h"
  int main(int argc, char **argv)
  {
  QApplication app(argc, argv);
  QWidget w;
  Ui::Form ui;
  ui.setupUi(&w);
  w.show();
  return app.exec();
  }
  编译,然后运行,刚刚设计出来的表单就会运行出来,点击Push Button,程序就会退出,这是在设计时Push Button响应关联到form的close的结果。

本文转自
http://hi.baidu.com/wstone_h/blog/item/433d3ac42d7810cd39db4999.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值