Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
这是学习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.至于本程序文最终界面如下:

可以看出由于没有设置其他控件 导致程序界面没有被展开
posted on 2011-03-19 12:43 ccsdu2009 阅读(787) 评论(0)  编辑 收藏 引用 所属分类: QT编程

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理