我是靠谱客的博主 孤独大侠,最近开发中收集的这篇文章主要介绍QT中 QT_BEGIN_NAMESPACE、QT_END_NAMESPACE的应用介绍!!,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原文:http://www.qtcn.org/bbs/read.php?tid=14065

#ifndef WINDOW_H
#define WINDOW_H

#include
#include

QT_BEGIN_NAMESPACE
class QAction;
class QCheckBox;
class QComboBox;
class QGroupBox;
class QLabel;
class QLineEdit;
class QMenu;
class QPushButton;
class QSpinBox;
class QTextEdit;
QT_END_NAMESPACE

//! [0]
class Window : public QDialog
{
Q_OBJECT

public:
Window();
……



问题:
1、QT_BEGIN_NAMESPACE、QT_END_NAMESPACE作用是什么
2、这样引入类有什么好处
3、为什么这两个类要通过include引入
#include
#include

1、It is possible to compile whole Qt inside a user-defined namespace.
See configure options for more details. These macros expand as:

Qt Code:
# define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
# define QT_END_NAMESPACE }
参考资料:
http://www.qtcentre.org/threads/15946-What-s-effect-of-QT_BEGIN_NAMESPACE-Thanks

2、3
在头文件中尽量引入较少的其它头文件,可以加快编译速度;

要include QSystemTrayIcon是因为在
void iconActivated(QSystemTrayIcon::ActivationReason reason);
这个函数申明的时候需要QSystemTrayIcon类下的变量,其他的用
class QAction;
class QCheckBox;
...
是因为在头文件里面只有这些类的指针申明,并没有真正实例化,在这个头文件对应的cpp文件里面应该会
#include
#include
...
在cpp文件里面才会正真实例化这些类。
其 实直接在头文件里面#include #include 也是可以的,像它这样做,好像是可以降低各个文件编译时的关联度,不会在改动了一下部分类的时候,引发其他大量文件的 重新编译,在做小工程的时候没什么区别,但是做大了,编译一次需要好几个小时的时候,这样做的优势就显现出来了

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(41) | 评论(0) | 转发(0) |
0

上一篇:QT学习之路

下一篇:Qt标准对话框之QMessageBox

相关热门文章
  • test123
  • 编写安全代码——小心有符号数...
  • 使用openssl api进行加密解密...
  • 一段自己打印自己的c程序...
  • sql relay的c++接口
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议

最后

以上就是孤独大侠为你收集整理的QT中 QT_BEGIN_NAMESPACE、QT_END_NAMESPACE的应用介绍!!的全部内容,希望文章能够帮你解决QT中 QT_BEGIN_NAMESPACE、QT_END_NAMESPACE的应用介绍!!所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部