﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-快乐的程序员</title><link>http://www.cppblog.com/dinggb/</link><description>遇见就不再错过</description><language>zh-cn</language><lastBuildDate>Tue, 09 Jun 2026 20:18:41 GMT</lastBuildDate><pubDate>Tue, 09 Jun 2026 20:18:41 GMT</pubDate><ttl>60</ttl><item><title>Qt最佳实践</title><link>http://www.cppblog.com/dinggb/archive/2010/04/02/111416.html</link><dc:creator>Q丁</dc:creator><author>Q丁</author><pubDate>Fri, 02 Apr 2010 04:35:00 GMT</pubDate><guid>http://www.cppblog.com/dinggb/archive/2010/04/02/111416.html</guid><wfw:comment>http://www.cppblog.com/dinggb/comments/111416.html</wfw:comment><comments>http://www.cppblog.com/dinggb/archive/2010/04/02/111416.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dinggb/comments/commentRss/111416.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dinggb/services/trackbacks/111416.html</trackback:ping><description><![CDATA[<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>编程前：</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>1.查看 examples,demos,Qt-Solutions。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>2.研究除了Qt图形编程之外的一些重要的编程模块和框架. 例如：Threads、Networking、XML，Graphics view、OpenGL、SQL等。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>3.学会qmake.</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>编程时：</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>4.最好在堆上用new创建QObjects并为他指定父类。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>5.不要对QObject或它的子类使用多继承。（qt不支持）</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>6.弄清QDialog()::exec()和QWidget()::show()的不同。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>7.在编写一个自定义的Widget时，要确保它没有被创建过。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>8.最好使程序的位置和项的布局一致。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>9.当使用Qt-Designer创建Library时,最好在构造函数里用setupUi(),而不是继承。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>10.判定你的GUI类如何拥有与事件相关的接口。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>11.最好使用QString而不是char*，并且对所有的字符串都使用tr()。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>12.学会使用Qt的容器类。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>13.学会非图形化Qt类的使用，例如：QFile、QPixmap、QSettings等。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>14.意识到所有的Qt数据都使用了隐含共享。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>15.当使用ListWidget时，最好用Model/View方法而不是项的基本方法。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>16.学会qt debugging助手.</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>17.了解最普遍的Qt编程错误。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>18.如果发现bug,报告给Qt Bugs。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>19.使用Qt-Linguist。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>20.为你的程序提供图标，并用Doxygen把你的代码整理成文档。</p>
<p style="MARGIN: 15px; FONT-FAMILY: 微软雅黑; FONT-SIZE: 12pt" width=100%>21.使用Qt-interest 邮件列表或者去Qt Centre论坛。</p>
<img src ="http://www.cppblog.com/dinggb/aggbug/111416.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dinggb/" target="_blank">Q丁</a> 2010-04-02 12:35 <a href="http://www.cppblog.com/dinggb/archive/2010/04/02/111416.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>