主機環境: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
沒出錯的話執行可執行文件就可以了
好了,初步入門就這樣了