`
wangminshe89
  • 浏览: 691045 次
文章分类
社区版块
存档分类
最新评论

必须要了解的QT特性!

 
阅读更多

1、signal和slot是必须理解的。否则看QT的帮助文档都成问题。

2、QT的property特性倒不是必需的。不过看看,很有意思。
3、QT由于是跨平台SDK。因此,它对event的处理并不像MFC或XAPI那样明显。但最好能对event filter有一个清晰的概念。这种filter机制可以把定制代码hook到具体的widget中,有时在简化编程上能起到巨大的作用。
4、QObject中的每个函数都是必须仔细研究的。至少,要对那个带parent的构造函数的含有理解清楚。由于QT在GUI的建立上经常要使用多层布局,最好不要手动去delete QObject的派生类。使用带parent的构造函数,QObject会自动释放所有child对象。
5、在QT中有非常强烈的布局概念。仔细研究研究,很快就会创造出非常漂亮的界面。
6、QT在绘制窗体的时候提倡程序员使用他的风格机制,而不是向Windows那样随心所欲的绘制。QT把标准窗体拆分成各个组件,然后按部分进行绘制。QT的风格机制还提供了很多窗体尺寸的信息。当然,你可以写一个自己的风格,并安装在QT中。
7、QTimer是个非常有用的类。由于signal和slot机制基本上就是callback机制,在大量是有时,可能导致递归。QTimer除了能产生定时外,它的令一个重要的任务就是可以抛出一个在空闲时执行的signal,具体函数名我记不清楚了,看看QTimer稳当。一般情况下,跑出 signal的时间参数是0。

理解了这些内容,应该能开发出不错的QT应用。应该还有其他一些非常有个性的特点,但我一时也记不清了。

不过要开发QT最好还是使用KDevelop来开发。因为QT在实现signal/slot和property的过程中,使用了一个预编译机制。这个预编译器的名字叫moc。KDevelop会自动把头文件用moc进行处理,来产生另外的一个cpp原文件,它实现了QObject的一些虚函数和声明了一些静态变量。在初学QT编程的时候,最好不要在cpp源文件中声明具有signal/slot的QObject子类。因为,KDevelop并不负责检查 cpp文件,在这种情况下要么自己手动执行moc,要么修改Makefile.am。总之,会造成混淆。

KDE SDK是在QT上发展的一个桌面SDK。在Widget层面上他的扩展并不大。主要在于action和一些effect上的扩展。比如对于toolbar 上的button,KDE的效果明显好于QT。不过,如果只是用QT开发,可以把这些代码copy过来。写KDe程序必须对目录组织逻辑非常了解,否则在发布应用的时候会非常困难。

KDE和QT在i18n上基本上是一致的。显示中文最好使用po文件来定义。

QT是一种非常容易上手的SDK,它提供了非常多的辅助类。在图形文件的支持上尤其突出。在QT下使用gif格式非常容易。

学习QT最好从QT的基本特性上着手,然后逐步发展的QT的整个框架风格。KDe的cvs上的qt-copy里有QT的Linux下的大量的源代码。可以帮助你理解QT的功能。其实这些代码的价值是非常巨大的。不禁在QT上,在Linux下的很多开发上,参考这些代码的价值都是无法估量的。

还有,除了在界面上现实中文,有时可能要处理文件级的中文。QT的decoder相关类可以非常好的完成这些工作。


来源:http://hi.baidu.com/%B7%C9%CF%E8_%C6%D1%B9%AB%D3%A2/blog/item/fa787d1707162e10972b433e.html

分享到:
评论

相关推荐

    QT教程!!!

    虽然教程内容并未涵盖Qt的所有特性,但它着重于教授基本的GUI编程思想以及必要的Qt特性。从一个简单的“Hello, World!”程序开始,每章逐步深入,引入新的概念和技术,最终实现一个相对复杂的应用程序,篇幅从最初的...

    qt2型晶体管特性图示仪

    总之,对于想要深入理解并准确使用qt2型晶体管特性图示仪的用户来说,一份详细、准确的说明书是必不可少的。通过仔细阅读说明书,用户能够掌握正确的操作方法,高效地进行电子元件测试,并准确解读测试数据。这不仅...

    基于QT的拼图游戏!!

    总之,基于QT的拼图游戏项目是一个很好的学习资源,它涵盖了C++编程基础、QT框架应用、事件驱动编程和图像处理等多个方面,对于想要提升QT开发技能的初学者来说,这是一个不可多得的实践机会。通过深入理解和实践这...

    QT中文帮助手册助手!

    在QT开发过程中,了解并熟练掌握各种控件是至关重要的。QT包含了一系列丰富的UI元素,如按钮(QPushButton)、标签(QLabel)、文本框(QLineEdit)、对话框(QDialog)、布局管理(QLayout)等。这些控件的使用方法...

    Qt及Qt Quick开发实战精解.pdf

    9. 跨平台开发:了解Qt的跨平台特性如何工作,学习如何编写一套代码在Windows、Linux、Mac OS甚至嵌入式设备上运行。 10. 应用发布:掌握如何打包和发布Qt应用,包括应用程序的构建和部署策略。 由于文件的“...

    优质Qt资源,Qt编写的一些开源的demo(100个以上),支持Qt4、Qt5、Qt6,支持任意系统

    Qt是一个强大的跨平台应用程序开发框架,广泛用于创建...同时,对于经验丰富的Qt开发者,这些demo也可以作为参考,了解新的Qt版本特性或寻找解决特定问题的灵感。总的来说,这个资源集合对于提升Qt编程能力非常有帮助。

    360新版特性Qt源代码,注释齐全

    通过对360新版特性Qt源代码的深入学习,开发者不仅可以掌握Qt界面设计的技巧,还能了解到如何将Qt库与实际业务需求相结合,打造出功能强大、用户体验优秀的应用。同时,注释齐全的源代码是宝贵的教育资源,可以帮助...

    QT学习教程PDF(《Qt Creator快速入门》;C++ GUI Qt4 编程(第二版) ;Qt及Qt+Quick开发实战精解)

    5. **Qt Quick**:了解QML语言,掌握声明式编程思想,创建动态界面。 6. **实战应用**:跟随书中的实例,实践开发过程,提升解决实际问题的能力。 7. **进阶技术**:探索Qt的高级特性,如网络编程、多线程、数据库...

    Learning Qt_Free!_QT5_

    这本书旨在帮助开发者深入了解Qt5这一强大的跨平台应用程序开发框架,从而提升他们的编程技能。Qt5是Qt库的一个重大更新,提供了许多新功能和改进,使得它在移动设备、桌面应用以及嵌入式系统开发中广泛应用。 Qt5...

    MyCamera_QTusb_qtusb摄像头_qt摄像头_USB摄像头qt_populationgdn

    【标题】"MyCamera_QTusb_qtusb摄像头_qt摄像头_USB摄像头qt_populationgdn" 涉及的关键技术...这个项目可以作为学习Qt GUI编程和USB摄像头应用开发的实例,对于想要掌握Qt和视频处理的开发者来说具有一定的参考价值。

    Qt镜像源_qt_mirror

    Qt是一个流行的开源跨平台应用程序开发框架,用于创建桌面、移动和嵌入式设备的应用程序。在进行Qt开发时,我们经常需要安装Qt SDK,其中...了解如何正确配置和使用Qt镜像源,对于任何Qt开发者来说都是一个实用的技能。

    Qt5.10 GUI完全参考手册,qt5.5.1,QT文档

    首先,让我们深入了解Qt的核心概念。Qt基于事件驱动模型,它的核心组件包括窗口系统、图形视图框架、网络编程、数据库支持以及多媒体模块等。这些组件通过一个统一的API进行访问,使得开发者可以方便地构建复杂的...

    Qt平台体系与应用Qt 5.5 cx.rar

    首先,我们要了解Qt平台体系。Qt是一个跨平台的应用程序开发框架,由Qt Company提供,广泛应用于桌面、移动和嵌入式设备上。它的核心特性是其强大的图形用户界面(GUI)库,支持多种操作系统,如Windows、Linux、...

    QT官方文档离线版 Qt参考手册 v5.9

    QT官方文档离线版Qt参考手册v5.9...通过学习Qt参考手册v5.9,开发者可以深入了解Qt的各种特性和功能,提升开发效率,构建出高质量的跨平台应用程序。无论你是Qt新手还是经验丰富的开发者,这份文档都是必备的参考资料。

    Qt5.10+GUI完全参考手册,qt5.15.2,QT

    1. **元对象系统**:Qt的元对象系统是其独特且强大的特性,它允许动态对象属性的访问和修改,以及运行时信号和槽的连接。元对象系统基于C++的 moc 工具,可以将特定的Qt宏转换为运行时信息。 2. **信号和槽**:这是...

    Qt 5.9 C++开发指南-Qt核心特点源码

    通过分析项目的源码,你可以了解如何在实际开发中运用Qt 5.9的特性,以及如何组织和优化代码结构。 总结,Qt 5.9提供了强大的工具和框架,以支持高效、跨平台的C++开发。深入理解其核心特点和源码,将使你能够更好...

    qtspeech-5.10_qtspeech_qtspeak_qt语音_qt语音识别_qtqtexttospeech_

    开发者需要了解不同平台的语音服务特性,以便充分利用这些工具。 在实际应用中,开发一个使用Qt语音功能的应用包括以下步骤: 1. 引入`qtspeech`库:在项目配置中,确保包含了`qtspeech`模块。 2. 创建语音合成器或...

    qt.rar_Qt下载_qt 中文

    首先,让我们深入了解Qt的核心概念和特性: 1. **信号与槽(Signals & Slots)**:这是Qt最独特的机制之一,它允许对象之间的通信,无需关心对象间的具体实现细节。当一个对象的某个状态改变时,可以触发一个信号,...

    qt学习全套视频

    ### Qt学习全套视频知识点概述 #### 一、Qt简介与安装配置 ...通过这套全面系统的视频教程,不仅能够快速入门Qt开发,还能深入了解Qt的各项高级特性,并通过实战案例巩固所学知识,为成为Qt高手打下坚实的基础。

    qt教程 qt_creator

    通过学习这些教程,开发者可以逐步掌握Qt Creator的使用,了解Qt库的精髓,并具备开发复杂跨平台应用程序的能力。无论是桌面应用、移动应用还是嵌入式系统,Qt都提供了强大的工具和支持,使得开发者能够专注于创新和...

Global site tag (gtag.js) - Google Analytics