Qt “即画即得”界面设计方法的粗浅理解

在Qt中有如同其他的IDE一样的“即画即得”的界面设计方式,对其设计的原理,我的简单的理解如下:

1.编译器为程序员所设计的ui文件创建一个类,
class Ui_MainWindow
{
  private:
    程序中用到的自定义的相关的组件也就是你所添加的组件等
    QLabel *label;
     ...

  public:
      Ui_MainWindow():
                label(new label),
                ...

          {
                ...
       }



     //具体的Ui设计函数
    setupUi(QMainWindow *mainWindow)
    {
            // 设置自定义组件(控件)的属性
            label->text()=tr("light");
         ...
    }
};

2.建立一个命名空间,其中声明一个类,该类从上述Ui_MainWindow 
类派生而来。

namespace Ui{
   class MainWindow:public Ui_MainWindow{};
}
以上两段代码定义在同一个头文件ui_mainwindow.h

3.在程序中定义另一个类,这个类派生于QMainWindow,并且拥有一个 上面 头文
ui_mainwindow.h
Ui::MainWindow类的指针(私有成员变量),在这个类的构
造函数中利用Ui::MainWindow
setupUi()成员函数对该类进行初始化。

//声明ui_mainwindow.h中的命名空间Ui
namespace Ui{
   class MainWindow;
}

class MainWindow:public QMainWindow          //@1
{
private:
             Ui::MainWindow *ui;

pulbic:
   MainWindow(QMainWndow *mainWindow):
             QMainWindow(mainWindow),
             ui(new Ui::MainWindow)
   {
             ui->setupUi(this);
                     //其他的初始化的操作
   }

   //一些其他的成员
    ...
};


4.这样的设计之后就可以直接通过建立@1处的MainWindow的对象,而得到
“即画即得”的设计界面并可在该类中添加一些其他的功能了,比如改变组件
的属性和行为等等。

int main(int argc,char *argv[])
{
   QApplication app(argc,argv);
   
   MainWindow *mainwindow=new MainWindow();
   mainwindow->show();
}

刚接触QT不久,以上是我的一些粗浅的理解,肯定有错误的地方,请各路大神指正!大笑
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值