這是學習QT的第10篇文章
現在總算入門了
要想快速學習新的知識一個是要多看還有一個是要多練
本篇就是使用QT開發軟件的開始
不過只是開始,我并不打算弄一個完完整整的例子
而是通過迭代式的循序漸進的方式一步一步完善軟件
所以現在做出來的只是一個毛胚而已
首先上代碼:
#include <QtGui/QMainWindow>
QT_BEGIN_NAMESPACE
class QAction;
class QToolBar;
class QMenu;
class QWidget;
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
public:
void CreateAction();
void CreateMenu();
void CreateToolBar();
private slots:
void home();
void about();
void setting();
void running();
private:
QMenu* setting_;
QMenu* home_;
QMenu* running_;
QMenu* about_;
QToolBar* settingbar;
QToolBar* homebar;
QToolBar* runningbar;
QToolBar* aboutbar;
QAction* settingaction;
QAction* homeaction;
QAction* runningaction;
QAction* aboutaction;
};
.cpp
本文沒有多少新的內容
需要說的2點:
1.qrc文件
這是QT的資源文件
我們可以把圖標通過資源文件的方式包含進程序里面
本文的qrc內容如下:
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>images/home.png</file>
<file>images/running.png</file>
<file>images/about.png</file>
<file>images/setting.png</file>
<file>images/logo.png</file>
</qresource>
</RCC>
那么使用的時候就可以這樣調用了:
QIcon(":/images/home.png")
注意字符串最前面是一個冒號!
2.menuBar()和addToolBar的問題
menuBar()是QWidget中用于獲取控件菜單欄的函數
addToolBar是增加工具條到控件的函數如果沒有調用menuBar也沒有調用addToolBar那可以認為控件是又沒菜單項和工具條的
在這里我的感覺是既然menuBar是獲取控件菜單項的函數,那為什么沒有對應的toolBar?或者有addToolBar而無對于德addMenu?
從命名風格上上看我們還是希望程序命名盡可能一致的,這樣可以減少使用者的記憶量。
--------當然這也行有這樣寫的理由
3.QT中打開給定網頁鏈接的方法:
const QUrl url("http://www.shnenglu.com/gaimor/");
QDesktopServices::openUrl(url);
3.至于本程序文最終界面如下:

可以看出由于沒有設置其他控件 導致程序界面沒有被展開