📄 kdevelop-manual-4.html
字号:
这一工作的步骤之一就是对话框设计,例如,改变画图应用中的笔刷宽度值。这可由Kdevelop内部的对话框编辑器dialog editor来轻易完成。现在,你如何创造那些美观的对话框呢?由于Qt-library是GUI工具箱,它提供了一个所谓的"widgets"基本套件;例如,表示纯文本的标签,文本输入的行编辑,导航按钮及选择命令。用户界面中除了这些"低水平"的部件,还提供标准的对话,随时可用,例如打印对话框printing 。KDE库KDE-libraries是基于Qt-库的,它包括某些对话的替代及可用于你的应用的其他widgets 。这样,当你开始设计你的用户的应用操作时,你应该让你自己尽量的熟悉随Qt 和 KDE提供的widgets。Qt的在线文档为大多数widgets提供了快照,因此你应该先去看看。然后我们建议你仔细看看KDE-UI库, 它提供了其他一些widgets。象KHTML库一样的库包含了很专业化的widgets ,很多程序都在使用。它只是简化了应用的设计,例如Qt提供的预先定义的对话。对于你自己的对话,这些较低级的widgets 正是你所需要的。一个对话仅仅由不同的widgets结合在一起组成了一个界面,它在技术上是由C++代码编程于一个从<CODE>QWidget</CODE>中派生出的一个类,或一个更专业化的继承了 <CODE>QWidget</CODE>的对话类。因此使用widget的程序需要一个widget类的对象。--这几乎是你要理解对话及视图是如何使用的所有东西。</P><P>现在Kdevelop的对话框编辑器dialog editor提供一个很好的方法来简化你的对话的建立过程,它可以可视化得创建对话和用户界面,你无须再将对话和纯C++ 代码结合再一起。--这是创建界面的较为复杂的方法。通过选择视图菜单中的相关条目可切换至对话框编辑器dialog editor (或通过工具条按钮)。你可以看见Kdevelop的界面改变了,但是,菜单条和工具条仍然看来十分熟悉。这使得在两种工作模式间前后切换变得十分容易,你很快会习惯于它们的。然后你可由你所愿建立你的视图和对话框。并设置所有视图包含项目的可用设置。当你完成后,从建立菜单中选择"生成源";对话框编辑器dialog editor 及项目管理器会负责剩下的事情。你可以通过选择"生成"或"执行"来测试是否一切正常, 这会建立你的包含了你的新资源的应用。但是不要期望对话框已经可用--这通常是一个开发者工作完成implementation的一般方式。但不要担心--这也并非那么困难。要想得到关于创建对话的更多信息,请参见<A HREF="kdevelop-manual-11.html#The Dialog Editor">对话框编辑器</A>, 实例及指导可参见<A HREF="programming/index-6.html">KDevelop编程手册</A></P><H3>捆绑新元素</H3><P>在你创建了你的用户界面并生成了你的资源后,你可以准备让你的应用通过对象来使用他们。如上所述,通常一个基于GUI的程序会包含菜单条和主视;另外主视可由控制条操作,它是主应用类及其连接的文档对象的一部分。按照面向对象的设计, 你可以将给出的结构描述为"文档--视图--控制器"模式。这种模式通过介绍对象在程序中的作用描述了对象在应用中的基本功能。控制器代表协调主应用的一类,它通过菜单条及工具条,状态条提供用户交互功能。文档类的任务是代表用户使用的文档。因此,文档类应该可以完成所有的比如装载文件和重新保存文件的操作。现在视图位于应用窗口中央, 为用户以可视化方式显示文档的一部分,并提供所有功能使用户可改动数据。由于控制条和工具条已出现,你的工作将是创建主视,以及用户可以用于改变任何设置或使用另外功能的其他对话。</P><P>要建立你的主视,为你的应用生成的源代码已经以<YourApplication>形式包含了一个类,继承<CODE>QWidget</CODE>类的视图(这是操纵Qt中可视化界面的最小类,因此也在KDE中)。 总的来说,展开给定的来有三种不同的方法:<UL><LI>去掉文档--视图结构并使用一个预先定义的已包含了很多功能的"大"widgets,只需去掉视图类并由另一类代替。</LI><LI>改变视图类的继承,改变至,例如,QmultiLineEdit,这样你的应用会变成一个编辑器。</LI><LI>如果你的主视窗口要包含若干独立部件,你就需要用dialog editor创建你需要的widgets及其classes,并在连接后可生成主视的视图类生成器中创建该classes的对象。</LI></UL></P><P>对对话来说,情况就有些不同了。通常的做法是从菜单条或工具条上按钮进入,访问对话框。在你创建了你的对话并生成资源代码后,类就可用于创建作为对话的对象了。所以你先看一下,在菜单条找出适当的位置来加入用户选择后可打开对话的入口。如果给出的菜单与你的要求不符,你可以创建一个象其他菜单一样的新的弹出菜单,插入你的项目及当你的菜单被选中后你想要访问的地方。通过创建对话类实例实现slot,并用基础类提供的成员函数member functions访问对话框。而且你还必须为菜单项指定ID。应用程序框架把已给出的ID收集于文件resource.h中,因此你只需加入ID并给它一个新编号。这样你就完成了--另外你还可以创建另外的工具条按钮并加入状态帮助信息。现在你们的应用给用户提供了可视的新功能。接着你必须加入你的对话将用到的操纵任何参数值的方法的实现implementation。最后,访问你的生成工具或"执行",改写过的文件会被重新编译;这样你改动的结果可以立即测试。</P><H3>完整开发过程</H3><P>以上我们已经讨论了关于如何利用KDE开始建立新的应用及如何扩展用户界面的一般方法。现在,这些是IDE帮助你的标准步骤,但KDE却不仅仅为你提供创建应用及其可视化部件的工具。下面我们将对它对推动应用开发提供的功能做一个简要描述。</P><H3>源代码管理</H3><P>Kdevelop IDE提供给编程人员很多的方法使他们在最短的时间内完成其目标。如以上所述,KappWizard和dialogeditor缩短了你手工要达成同样结果一般所需的时间。但这并不包括一个程序员通常必须做的工作:为应用的完成努力工作,以使终端用户能正确的执行。那么,为什么KDE是你希望用做编程环境的IDE,包括它的即使是非GUI应用的创建作用?</P><P>无疑,IDE总体的管理着你的项目;那就是说,你无须小心对变化的保存,Makefile的生成,等等--这提供了整个项目的管理,KDE会在任何一个C++应用开发中不遗余力的为你服务。你可以很容易的理解,把管理的任务从程序员手中接过后,他可以更专注于源代码的编写工作了。在通常遍布于项目中许多不同的文件,因此你可以分离一定的文件。但这意味着仍然要努力工作--作为开发人员,你仍然不得不创建这些文件和编写这些标准内容,例如包含了数据,作者名的头部文件,及例如代码的执照术语。另外,这要求你必须记得你的函数,及类declarations和implementation在何处。因此,KDE包含了类工具--各种各样的操作,他允许快速操作和将开发者的注意力从文件转移至对象classes,结构和方法。类生成器让你可以轻易创建一个包含继承,attributes,和文档的新的类。对于面向对象的工作,类浏览器把你带到你的对象的位置;而代码实际在哪个位置已不再有什么关系了。浏览器自动扫描所有资源并在有增改时自我重建以跟上你的工作,使你可以直接得到新的代码。通过上下文菜单,类浏览器会提供更多的功能,例如,将你带到实现implementation或成员函数member functions的声明declaration。然后,成员的增加可以通过对话来完成--不必寻找文件和你要加入的项的位置。最后,你可以通过类工具对话得到你的项目的类classes的更为专业的视图,它会以树的形式显示类classes及其对象的作用,内容和继承。要想得到更详细的信息,请参见<A HREF="kdevelop-manual-10.html#The Class Browser">类浏览器</A></P><H3>建立并执行你的应用</H3><P>Kdevelop IDE是特别设计来为你完成你必须定期执行的所有那些步骤,例如建立和执行你的程序及在源代码中定位errors。</P><P>你可以开始你的建立过程,通过:<UL><LI>单击工具条上的"建立"或"全部重建"符号</LI><LI>或从"建立"菜单中选择"建立"或"全部重建"</LI></UL></P><P>要执行你的应用,请选择<UL><LI>工具条中的"执行"或"编译"符号(由你的程序启动 KDbg )</LI><LI>建立菜单中的相关菜单项</LI><LI>或者通过"由Arguments 执行"来用其他arguments启动你的应用</LI></UL>要想得到关于建立过程的更多信息,请参见<A HREF="kdevelop-manual-8.html#Projects">项目篇</A>。</P><H3>寻找程序错误</H3><P>由于一般 errors错误会在创建过程(由Compiler 编译器监控 ,并且由于它们源于代码的句法错误,一般被称作句法errors错误。)或应用的执行过程中发生,它们必须由程序员找到并除去。 要定位errors错误,开发者需要得到引起错误发生的确切信息。 如上所述,Compiler编译器本身可以检测句法errors错误,导致可执行文件无法建立(这在Linker 连接器检测到"unresolved 信号时也有可能发生--参见连接器选项<A HREF="kdevelop-manual-9.html#Linker Options">连接选项</A>). 它会尽可能详细的对错误作出描述,这样错误就可以找到并去除。在创建过程,你可以看见output输出窗口弹出,告诉你你的make工具和编译器Compiler要说的话。万一遇到了错误errors或者警告warnings, 只要在错误行按动鼠标按钮,编辑器就会打开该文件并将光标移到错误行。这也可以通过"视图"菜单中的"下一个错误"和"上一个错误"条目或通过相关键盘快捷方式shortcuts来完成。你会发现这十分好用,为你到达错误节省了不少时间,这样排除状况只要求你作为程序员的相关知识。实时错误是在执行时出现的,大多数情况下会导致节段错误,有时很难发现。因此,你可以让编译器Compiler把信息加入二进制文件以监测源代码的执行。调试器则是允许你通过启动应用并在代码中为需中断执行的地方设置断点来完成它的另一类程序,因此你可以严格控制其实现implementations 而且通过这样至少可以检测引起错误发生的行。找出真正的引发原因则是另一项任务;它要依靠程序员对它的定位。<B>gdb</B>是GNU编译器Compiler提供的调试器,象<EM>ddd</EM> 或<EM>KDbg</EM> 一样的程序是允许更方便使用的前端。因此KDevelop使用KDbg 并让你可以通过"建立"菜单中的"调试"命令或工具条中的"调试"标志来激活调试debugging程序。要想知道关于调试debugging应用的更多信息,请参见<A HREF="kdevelop-manual-8.html#Projects">项目篇</A> 及<A HREF="programming/index-12.html">KDevelop编程手册</A>。</P><H2><A NAME="ss4.4">4.4</A> <A HREF="kdevelop-manual.html#toc4.4">其他信息</A></H2><P>本章的话题将更详细的在KDevelop IDE提供的文档和其他文档中叙述以下内容:</P><P><UL><LI><A HREF="programming/index.html">KDevelop编程手册 </A>,完整的介绍了使用Qt和KDE库进行GUI的应用设计和编程,</LI><LI>这本手册,从<A HREF="kdevelop-manual-5.html#Overview">概要</A>一节到<A HREF="kdevelop-manual-8.html#Projects">项目</A>一节, 描述了KDevelop的所有可用函数, </LI><LI>这本手册,在<A HREF="kdevelop-manual-11.html#The Dialog Editor">对话框编辑器</A>一节, 叙述了对话编辑器dialog editor对于创建你自己的widgets所起的作用, </LI><LI>在线<EM>Online</EM>-参考文档到Qt库Qt-library, 包括了使用Qt的GUI-toolkit工具箱及类参考和快照创建其包含的最重要的可使用的widgets的实例,</LI><LI><EM>KDE-Library Class-Reference</EM>, 由KDevelop从KDE-库资源自动生成,包含了所有类classes和widgets的描述及其使用的代码实例,</LI><LI>在Internet上,参见:<UL><LI><A HREF="http://www.troll.no">http://www.troll.no</A>以得到关于Qt和其他第三方widgets的信息,</LI><LI><A HREF="http://www.kde.org">http://www.kde.org</A>以得到关于KDE项目和开发者指导,</LI><LI><A HREF="http://developer.kde.org">http://developer.kde.org</A>以得到其他KDE应用开发的的参考.</LI><LI>KDevelop的主页<A HREF="http://www.kdevelop.org">http://www.kdevelop.org</A></LI></UL></LI></UL></P><HR><A HREF="kdevelop-manual-5.html">Next</A><A HREF="kdevelop-manual-3.html">Previous</A><A HREF="kdevelop-manual.html#toc4">Contents</A></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -