这是学习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.cppblog.com/gaimor/");
QDesktopServices::openUrl(url);
3.至于本程序文最终界面如下:
可以看出由于没有设置其他控件 导致程序界面没有被展开