QT4學習之designer的初步使用

主機環境:linux

內核版本:2.6.32-220.el6.i686


一、啓動designer 

在桌面環境下, 也就是/etc/inittab文件中啓動級別爲5. 只有在桌面環境下才能啓動X服務. 另外在secureCRT不能啓動.

在桌面上環境中進入終端,找到安裝QT的目錄,在/bin下可以看到很多可執行文件,這些都是QT下的工具

包括我們常用的designer,qmake,uic等等. 執行./designer命令啓動designer

注:建議直接在.bash_profile中添加環境變量:PATH=$PATH:/home/yanshifu/project/qt-everywhere-opensource-src-4.6.4/bin

        這裏是按照我自己的路徑設置的.

啓動界面如下:


二、建立文件

點擊Widget, 然後Create就能創建一個窗口文件了

然後點擊左邊的欄中Buttons中的push buttons 拖到界面上,就能建立一個按鍵了


修改完表單以及Push Button的外觀和大小後,可以試着增加事件響應,找到右邊的Signal/Slot Editor窗口,在裏面的+號上點一下,Signal/Slot Editor窗口的列表就會新增一項,然後雙擊新增項的sender列,選擇pushButton;雙擊新增項的signal,選擇clicked(); 雙擊新增項的Receiver,選擇form;雙擊新增項的Slot,選擇close(). 完後點擊上欄中的Signal/Slot Editor鍵可以看到圖形的變化


然後file->save 選擇一個目錄就可以了(建議自己建一個目錄,這樣就便於管理)

三、編譯運行階段

在保存的目錄下可以看到.ui文件. 用uic-qt4命令生產.h文件

(這如果用uic命令將會生產一個空白的文件,原因是版本不對, qt4-designer生產的ui文件應該用uic-qt4命令)

uic-qt4 -o haha.h haha.ui 目錄下就會生產.h文件

這是生產.h文件的內容

/********************************************************************************
** Form generated from reading UI file 'haha.ui'
**
** Created: Sun Mar 16 01:53:10 2014
**      by: Qt User Interface Compiler version 4.6.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef HAHA_H
#define HAHA_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHeaderView>
#include <QtGui/QPushButton>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

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(140, 90, 92, 27));
        
        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));
    } // retranslateUi
    
};

namespace Ui {
    class Form: public Ui_Form {};
} // namespace Ui

QT_END_NAMESPACE

#endif // HAHA_H

QT4版本不能自己生成.cpp文件,要自己寫

我copy了別人的.cpp文件(初學,不懂自己寫)

#include <qapplication.h>
#include <qwidget.h>
#include "test.h"

/********************************************************************************
 *  Description:
 *   Input Args:
 *  Output Args:
 * Return Value:
 ********************************************************************************/
int main (int argc, char **argv)
{

    QApplication app(argc, argv);
    QWidget w;
    Ui::Form ui;
    ui.setupUi(&w);
    w.show();

    return app.exec();
} /* ----- End of main() ----- */
同樣,用qmake-qt4編譯,具體命令是

qmake-qt4 -project

qmake-qt4

make

沒出錯的話執行可執行文件就可以了

好了,初步入門就這樣了

發佈了59 篇原創文章 · 獲贊 10 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章