锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产视频久久,日韩欧美亚洲综合久久,狠色狠色狠狠色综合久久http://www.shnenglu.com/eXile/category/7024.htmlzh-cnWed, 25 Mar 2009 18:40:27 GMTWed, 25 Mar 2009 18:40:27 GMT60[T] 鍒╃敤QT榪涜web涓庢湰鍦版販鍚堝簲鐢ㄥ紑鍙?http://www.shnenglu.com/eXile/archive/2009/03/09/75997.htmleXileeXileMon, 09 Mar 2009 08:41:00 GMThttp://www.shnenglu.com/eXile/archive/2009/03/09/75997.htmlhttp://www.shnenglu.com/eXile/comments/75997.htmlhttp://www.shnenglu.com/eXile/archive/2009/03/09/75997.html#Feedback4http://www.shnenglu.com/eXile/comments/commentRss/75997.htmlhttp://www.shnenglu.com/eXile/services/trackbacks/75997.html闃呰鍏ㄦ枃

eXile 2009-03-09 16:41 鍙戣〃璇勮
]]>
Qt 4.5浣跨敤LGPLhttp://www.shnenglu.com/eXile/archive/2009/01/14/72031.htmleXileeXileWed, 14 Jan 2009 11:01:00 GMThttp://www.shnenglu.com/eXile/archive/2009/01/14/72031.htmlhttp://www.shnenglu.com/eXile/comments/72031.htmlhttp://www.shnenglu.com/eXile/archive/2009/01/14/72031.html#Feedback1http://www.shnenglu.com/eXile/comments/commentRss/72031.htmlhttp://www.shnenglu.com/eXile/services/trackbacks/72031.html

Nokia today announced that its Qt cross-platform user interface (UI) and application framework for desktop and embedded platforms will be available under the open source LGPL version 2.1 license from the release of Qt 4.5, scheduled for March 2009.  In addition:

  • Qt source code repositories will be made publicly available and will encourage contributions from desktop and embedded developer communities.
  • Service offerings for Qt will be expanded to ensure that all Qt development projects can have access to the same levels of support, independent of the selected license.
Nokia to license Qt under LGPL

We have some exciting news we’d like to share with the free software community: Qt will be licensed under the terms of the LGPL version 2.1 with the upcoming Qt 4.5 release, in addition to our standard GPL and commercial licenses. We are also pleased to announce that we are going to open up the Qt source code repository and also make it easier for the community to contribute to Qt.

Adding LGPL version 2.1 will greatly increase adoption of Qt across Windows, Linux, embedded Linux, Mac, S60, Windows CE, maemo, and Ovi web services. Having a larger number of users, including Nokia developers, providing feedback and contributions will help Qt remain a cutting edge, robust UI and application framework.

Going forward we will speed up the development of Qt using additional resources and work in even closer cooperation with the free software community. We will do this in a number of ways, including:

  • Employing more Qt developers
  • Opening our source code repository
  • Reducing the overhead needed to make a submission, including no longer requiring copyright assignments.
  • Launching a new web infrastructure to support contributions later this year.

As we know that license versions are important for many in the free software community, we wanted to also take the opportunity to provide some highlights of our upcoming changes:

  • Versions of Qt prior to 4.5 are not impacted by this announcement
  • We will continue to support the GPL version 2 through the newly added LGPL version 2.1 license, as it allows for the automatic conversion to the GPL.
  • We will continue to release Qt under GPL 3

As a first step we have selected LGPL version 2.1 as this is the version of the LGPL that best fits our purposes and we are most comfortable with at this point in time. We will continue to evaluate the adoption, use and legal interpretation of LGPL version 3 by the community and may use this version of the LGPL for future releases.

Finally, we will open the Qt repositories and provide more information regarding how interested parties can contribute to Qt with the release of Qt 4.5, which is scheduled for March. Until then, if you have any questions, please feel free to post your questions below.

Sincerely,

Sebastian Nyström
Vice President, Qt Software




eXile 2009-01-14 19:01 鍙戣〃璇勮
]]>
鍒╃敤scons緙栬瘧Qt搴旂敤http://www.shnenglu.com/eXile/archive/2008/10/21/qt-cons.htmleXileeXileTue, 21 Oct 2008 15:48:00 GMThttp://www.shnenglu.com/eXile/archive/2008/10/21/qt-cons.htmlhttp://www.shnenglu.com/eXile/comments/64663.htmlhttp://www.shnenglu.com/eXile/archive/2008/10/21/qt-cons.html#Feedback1http://www.shnenglu.com/eXile/comments/commentRss/64663.htmlhttp://www.shnenglu.com/eXile/services/trackbacks/64663.html闃呰鍏ㄦ枃

eXile 2008-10-21 23:48 鍙戣〃璇勮
]]>
PyQt 涓?Eric 鐨勫畨瑁?/title><link>http://www.shnenglu.com/eXile/archive/2008/05/19/50414.html</link><dc:creator>eXile</dc:creator><author>eXile</author><pubDate>Mon, 19 May 2008 09:57:00 GMT</pubDate><guid>http://www.shnenglu.com/eXile/archive/2008/05/19/50414.html</guid><wfw:comment>http://www.shnenglu.com/eXile/comments/50414.html</wfw:comment><comments>http://www.shnenglu.com/eXile/archive/2008/05/19/50414.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/eXile/comments/commentRss/50414.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/eXile/services/trackbacks/50414.html</trackback:ping><description><![CDATA[<p>PyQt 涓?Eric 鍦╓INDOWS騫沖彴涓婄殑瀹夎<br>By eXile<br><br>1.鍓嶆彁: 宸插畨瑁?make宸ュ叿(濡侻ingw), Qt, Python.<br>pexports C:\WINDOWS\system32\python25.dll > python25.def<br>dlltool --dllname python25.dll --def python25.def --output-lib libpython25.a<br></p> <p>2.瀹夎 PyQt<br><br>1) 瀹夎 SIP<br>python configure.py -p win32-g++<br>make<br>make install<br>2) 瀹夎 PyQt<br>python configure.py<br>make <br>make install<br><br><br>3.瀹夎 Eric</p> <p>1)瀹夎 QScintilla<br>qmake qscintilla.pro<br>make<br>make install<br>copy %QTDIR%\lib\qscintilla2.dll %QTDIR%\bin</p> <p>2).瀹夎 eric<br>python install.py<br><br><a ><u><font color=#810081>http://www.riverbankcomputing.co.uk/news<br></font></u></a><br>鍘熸枃鍦板潃: <a href="http://www.shnenglu.com/exile/">http://www.shnenglu.com/exile/</a></p> <img src ="http://www.shnenglu.com/eXile/aggbug/50414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/eXile/" target="_blank">eXile</a> 2008-05-19 17:57 <a href="http://www.shnenglu.com/eXile/archive/2008/05/19/50414.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璁捐Qt椋庢牸鐨凜++API (zt)http://www.shnenglu.com/eXile/archive/2008/02/18/42857.htmleXileeXileSun, 17 Feb 2008 16:50:00 GMThttp://www.shnenglu.com/eXile/archive/2008/02/18/42857.htmlhttp://www.shnenglu.com/eXile/comments/42857.htmlhttp://www.shnenglu.com/eXile/archive/2008/02/18/42857.html#Feedback0http://www.shnenglu.com/eXile/comments/commentRss/42857.htmlhttp://www.shnenglu.com/eXile/services/trackbacks/42857.html璁捐Qt椋庢牸鐨凜++API

浣滆匨atthias Ettrich錛岃瘧鑰匞oogol Lee錛屽師鏂囧湴鍧鍦?a >榪欓噷銆?

鍦ㄥ瓚o紙Trolltech錛夛紝涓轟簡鏀硅繘Qt鐨勫紑鍙戜綋楠岋紝鎴戜滑鍋氫簡澶ч噺鐨勭爺絀躲傝繖綃囨枃绔犻噷錛屾垜鎵撶畻鍒嗕韓涓浜涙垜浠殑鍙戠幇錛屼互鍙婁竴浜涙垜浠湪璁捐Qt4鏃剁敤鍒扮殑鍘熷垯錛屽茍涓斿睍紺哄浣曟妸榪欎簺鍘熷垯搴旂敤鍒頒綘鐨勪唬鐮侀噷銆?

璁捐搴旂敤紼嬪簭鎺ュ彛錛孉PI錛屾槸寰堥毦鐨勩傝繖鏄竴闂ㄥ拰璁捐璇█鍚屾牱闅劇殑鑹烘湳銆傝繖閲屽彲浠ラ夋嫨澶鐨勫師鍒欙紝鐢氳嚦鏈夊緢澶氬師鍒欏拰鍏朵粬鍘熷垯鏈夌煕鐩俱?

鐜板湪錛岃綆楁満縐戝鏁欒偛鎶婂緢澶х殑鍔涙皵鏀懼湪綆楁硶鍜屾暟鎹粨鏋勪笂錛岃屽緢灝戝叧娉ㄨ璁¤璦鍜屾鏋惰儗鍚庣殑鍘熷垯銆傝繖璁╁簲鐢ㄧ▼搴忓憳瀹屽叏娌℃湁鍑嗗鍘婚潰瀵硅秺鏉ヨ秺閲嶈鐨勪換鍔★細鍒涢犲彲閲嶇敤鐨勭粍浠躲?

鍦ㄩ潰鍚戝璞¤璦鏅強涔嬪墠錛屽彲閲嶇敤鐨勯氱敤浠g爜澶ч儴鍒嗘槸鐢卞簱鎻愪緵鑰呭啓鐨勶紝鑰屼笉鏄簲鐢ㄧ▼搴忓憳銆傚湪Qt鐨勪笘鐣岄噷錛岃繖縐嶇姸鍐墊湁浜嗘槑鏄劇殑鏀瑰杽銆傚湪浠諱綍鏃跺欙紝鐢≦t緙栫▼灝辨槸鍐欐柊鐨勭粍浠躲備竴涓吀鍨嬬殑Qt搴旂敤紼嬪簭鑷沖皯閮戒細鏈夊嚑涓湪紼嬪簭涓弽澶嶄嬌鐢ㄧ殑鑷畾涔夌粍浠躲備竴鑸潵璇達紝鍚屾牱鐨勭粍浠朵細鎴愪負鍏朵粬搴旂敤紼嬪簭鐨勪竴閮ㄥ垎銆侹DE錛孠妗岄潰鐜錛岃蛋寰楁洿榪滐紝鐢ㄨ澶氳拷鍔犵殑搴撴潵鎵╁睍Qt錛屽疄鐜頒簡鏁扮櫨涓檮鍔犵被銆傦紙涓鑸潵璇達紝涓涓被灝辨槸涓涓彲閲嶇敤緇勪歡錛屽師鏂囪繖閲屾病鏈夊啓娓呮銆傦級

浣嗘槸錛屼竴涓ソ鐨勶紝楂樻晥鐨凜++ API鏄敱浠涔堢粍鎴愮殑鍛紵鏄ソ榪樻槸鍧忥紝鍙栧喅浜庡緢澶氬洜绱犫斺旀瘮濡傦紝鎵嬪ご鐨勫伐浣滃拰鐗瑰畾鐨勭洰鏍囩兢浣撱傚ソ鐨凙PI鏈夊緢澶氱壒鎬э紝涓浜涚壒鎬ф槸澶у閮芥兂瑕佺殑錛岃屽彟涓浜涘垯鏄拡瀵圭壒瀹氶棶棰樺煙鐨勩?

濂界殑API鐨勫叚涓壒鎬?/h2>

API鏄潰鍚戠▼搴忓憳鐨勶紝鐢ㄦ潵鎻忚堪鎻愪緵緇欐渶緇堢敤鎴風殑GUI鏄粈涔堟牱瀛愩侫PI涓殑P甯﹁〃紼嬪簭鍛橈紙Programmer錛夛紝鑰屼笉鏄▼搴忥紙Program錛夛紝鐢ㄦ潵寮鴻皟API鏄粰紼嬪簭鍛樼敤鐨勶紝緇欎漢綾葷殑紼嬪簭鍛樼敤鐨勩?

鎴戜滑鍧氫俊API搴旇鏄渶灝忓寲涓斿畬鏁寸殑錛屾嫢鏈夋竻鏅頒笖綆鍗曠殑璇箟錛岀洿瑙夊寲錛屽鏄撹蹇嗭紝騫朵笖寮曞浜哄啓鍑烘槗璇葷殑浠g爜銆?

  • 鏈灝忓寲錛?/strong>鏈灝忓寲鐨凙PI鏄寚涓涓被灝藉彲鑳藉彧鎷ユ湁鏈灝戠殑鍏紑鎴愬憳涓斿敖鍙兘鍙嫢鏈夋渶灝戠殑綾匯傝繖涓師鍒欏彲浠ヨAPI鏇寸畝鍗曟槗鎳傦紝鏇村ソ璁幫紝鏇村鏄撻櫎閿欙紝涓旀洿瀹規槗鏀瑰彉銆?
  • 瀹屾暣鐨勶細瀹屾暣鐨凙PI鏄寚瑕佹彁渚涙墍鏈夋湡鏈涚殑鍔熻兘銆傝繖涓彲鑳戒笌鏈灝忓寲鍘熷垯鐩稿啿紿併傚彟澶栵紝濡傛灉涓涓垚鍛樺嚱鏁板睘浜庝竴涓笉搴旇灞炰簬鐨勭被錛屽緢澶氭綔鍦ㄧ殑浣跨敤鑰呴兘浼氭壘涓嶅埌榪欎釜鍑芥暟銆?
  • 鎷ユ湁娓呮櫚涓旂畝鍗曠殑璇箟錛?/strong>灝卞儚鍏朵粬璁捐宸ヤ綔涓鏍鳳紝浣犲繀欏婚伒瀹堟渶灝忔儕濂囧師鍒欙紙the principle of least surprise錛夈傝甯歌鐨勪換鍔$畝鍗曟槗琛屻備笉甯歌鐨勫伐浣滃彲琛岋紝浣嗕笉浼氳鐢ㄦ埛榪囧垎鍏蟲敞銆傝В鍐崇壒孌婇棶棰樻椂錛屼笉瑕佽瑙e喅鏂規娌℃湁蹇呰鐨勮繃搴﹂氱敤銆傦紙姣斿錛孮t3涓殑QMimeSourceFactory鍙互閫氳繃璋冪敤QImageLoader鏉ュ疄鐜頒笉鍚岀殑API銆傦級
  • 鐩磋鍖栵細灝卞儚鐢佃剳涓婄殑鍏朵粬涓滆タ涓鏍鳳紝API蹇呴』鏄洿瑙夊寲鐨勩備笉鍚岀殑緇忛獙鍜岃儗鏅細瀵艱嚧鍦ㄥ垽鏂粈涔堟槸鐩磋鑰屼粈涔堜笉鏄椂涓嶅悓鐨勬劅瑙夈傚鏋滀竴涓腑綰х敤鎴蜂笉璇繪枃妗e氨鍙互浣跨敤錛坅 semi-experienced user gets away without reading the documentation錛屾病鎳傝繖閲岀殑get away璇ユ庝箞緲昏瘧錛夛紝騫朵笖涓涓▼搴忓憳涓嶆噦API灝卞彲浠ョ悊瑙g緝鍐欑殑浠g爜錛岃繖縐岮PI灝辨槸鐩磋鍖栫殑銆?
  • 鏄撲簬璁板繂錛?/strong>璁〢PI鏄撲簬璁板繂錛屼嬌鐢ㄧ粺涓涓旂簿紜殑鍛藉悕鏂規硶銆備嬌鐢ㄥ彲璇嗗埆鐨勬ā寮忓拰姒傚康錛屽茍涓旈伩鍏嶇緝鍐欍?
  • 寮曞鏄撹鐨勪唬鐮侊紙Lead to readable code錛夛細浠g爜涓緇忓啓灝憋紝浼氳錛堝茍涓旈櫎閿欏拰淇敼錛夊嬈°傛槗璇葷殑浠g爜鍙兘浼氳姳鐐規椂闂存潵鍐欙紝浣嗘槸鍙互鑺傜渷浜у搧鍛ㄦ湡涓殑鍏朵粬鏃墮棿銆?

鏈鍚庯紝璁頒綇錛屼笉鍚岀被鍨嬬殑鐢ㄦ埛浼氱敤鍒癆PI鐨勪笉鍚岄儴鍒嗐傝櫧鐒剁畝鍗曠殑瀹炰緥鍖栦竴涓猀t綾繪槸闈炲父鐩磋鍖栫殑錛岃璧勬繁涓撳鍦ㄨ瘯鍥懼瓙綾誨寲涔嬪墠璇諱竴閬嶆枃妗o紝鏄緢鍚堢悊鐨勩?

渚垮埄闄烽槺

榪欐槸涓父瑙佺殑璇В錛氭洿濂界殑API錛岀敤鏇村皯鐨勪唬鐮佸畬鎴愪竴浠朵簨銆傛案榪滆浣忎唬鐮佷竴嬈″啓灝憋紝涔嬪悗闇瑕佷笉鏂殑闃呰騫剁悊瑙c傛瘮濡傦細

    QSlider *slider = new QSlider(12, 18, 3, 13, Qt::Vertical,
0, "volume");

榪滄瘮涓嬮潰閭f牱闅捐錛堢敋鑷抽毦鍐欙級錛?

    QSlider *slider = new QSlider(Qt::Vertical);
slider->setRange(12, 18);
slider->setPageStep(3);
slider->setValue(13);
slider->setObjectName("volume");

甯冨皵鍙傛暟闄烽槺

甯冨皵鍙傛暟閫氬父浼氬鑷翠笉鏄撹鐨勪唬鐮併傛洿榪涗竴姝ワ紝緇欎竴涓凡緇忓瓨鍦ㄧ殑鍑芥暟鍔犲叆涓涓竷灝斿弬鏁幫紝榪欏父甯告槸涓敊璇傚湪Qt閲岋紝涓涓紶緇熺殑渚嬪瓙鏄痳epaint()錛岃繖涓嚱鏁板甫鏈変竴涓竷灝斿弬鏁幫紝鏉ユ爣璇嗘槸鍚︽摝闄よ儗鏅紙榛樿鎿﹂櫎錛夈傝繖璁╀唬鐮侀氬父鍐欐垚錛?

    widget->repaint(false);

鍒濆鑰呭緢瀹規槗鎶婅繖鍙ヨ瘽鐞嗚В鎴?#8220;鍒噸鐢?#8221;錛?

榪欐牱鍋氭槸鑰冭檻鍒板竷灝斿弬鏁板彲浠ュ噺灝戜竴涓嚱鏁幫紝閬垮厤浠g爜鑶ㄨ儉銆備簨瀹炰笂錛岃繖鍙嶈屽鍔犱簡浠g爜閲忋傛湁澶氬皯Qt鐢ㄦ埛鐪熺殑璁頒綇浜嗕笅闈笁琛岀▼搴忛兘鏄仛浠涔堢殑錛?

    widget->repaint();
widget->repaint(true);
widget->repaint(false);

涓涓ソ涓浜涚殑API鍙兘鐪嬭搗鏉ユ槸榪欐牱錛?

    widget->repaint();
widget->repaintWithoutErasing();

鍦≦t4閲岋紝鎴戜滑閲嶆柊璁捐浜唚idget錛屼嬌寰楃敤鎴蜂笉鍐嶉渶瑕佷笉閲嶇敾鑳屾櫙鐨勯噸鐢粀idget錛屾潵瑙e喅榪欎釜闂銆俀t4鍘熺敓鏀寔鍙岀紦瀛橈紝搴熸帀浜嗚繖涓壒鎬с?

榪欓噷榪樻湁涓浜涗緥瀛愶細

    widget->setSizePolicy(QSizePolicy::Fixed,
QSizePolicy::Expanding, true);
textEdit->insert("Where's Waldo?", true, true, false);
QRegExp rx("moc_*.c??", false, true);

涓涓樉鑰屾槗瑙佺殑瑙e喅鏂規硶鏄紝浣跨敤鏋氫婦綾誨瀷浠f浛甯冨皵鍙傛暟銆傝繖姝f槸鎴戜滑鍦≦t4涓?a >QString澶у皬鍐欐晱鎰熸椂鐨勫鐞嗘柟娉曘傛瘮杈冿細

    str.replace("%USER%", user, false);               // Qt 3
str.replace("%USER%", user, Qt::CaseInsensitive); // Qt 4

闈欐佸鎬?/h2>

鐩鎬技鐨勭被搴旇鍚湁鐩鎬技鐨凙PI銆傚湪蹇呰鐨勬椂鍊欌斺斿氨鏄錛岄渶瑕佷嬌鐢ㄨ繍琛屾椂澶氭佺殑鏃跺欌斺旇繖鍙互閫氳繃緇ф壙瀹炵幇銆備絾鏄鎬佷緷鏃т細鍙戠敓鍦ㄨ璁℃椂鏈熴傛瘮濡傦紝濡傛灉浣犵敤QListBox浠f浛QComboBox錛屾垨鑰呯敤QSlider浠f浛QSpinBox錛屼綘浼氬彂鐜扮浉浼肩殑API浣胯繖縐嶆浛鎹㈤潪甯稿鏄撱傝繖灝辨槸鎴戜滑鎵璇寸殑“闈欐佸鎬?#8221;銆?

闈欐佸鎬佷篃浣緼PI鍜岀▼搴忔ā寮忔洿瀹規槗璁板繂銆備綔涓虹粨璁猴紝涓緇勭浉鍏崇被浣跨敤鐩鎬技鐨凙PI錛屾湁鏃惰姣旂粰姣忎釜綾繪彁渚涘畬緹庣殑鍗曠嫭API錛岃濂姐?

錛堣瘧娉細C++ 0x灝嗚寮曞叆鐨刢oncept錛屽氨鏄潤鎬佸鎬佺殑璇硶灞傚疄鐜般傝繖涓姣斿崟鐙殑鍑芥暟鍚嶇浉浼兼洿寮哄ぇ涓旀槗鐢ㄣ傦級

鍛藉悕鐨勮壓鏈?/h2>

鍛藉悕錛屽ぇ姒傛槸璁捐API鏃跺敮涓鏈閲嶈鐨勯棶棰樹簡銆傝鎬庝箞縐板懠榪欎釜綾伙紵鎴愬憳鍑芥暟璇ュ彨浠涔堬紵

閫氱敤鐨勫懡鍚嶈鍒?/h3>

涓浜涜鍒欓氬父瀵規墍鏈夊悕瀛楅兘鏄湁鐢ㄧ殑銆傞鍏堬紝灝卞儚鎴戜箣鍓嶆彁鍒扮殑錛屽埆鐢ㄧ緝鍐欍傜敋鑷沖緢鏄庢樉鐨勭緝鍐欙紝姣斿“prev”琛ㄧず“previous”浠庨暱榪滅湅涔熸槸涓嶅垝綆楃殑錛屽洜涓虹敤鎴峰繀欏昏浣忓摢浜涜瘝鏄緝鍐欍?

濡傛灉API鏈韓涓嶄竴鑷達紝浜嬫儏鑷劧浼氬彉寰楀緢緋熺硶錛屾瘮濡傦紝 Qt3鏈塧ctivatePreviousWindow()鍜宖etchPrev()銆傚潥鎸?#8220;娌℃湁緙╁啓”鐨勮鍒欐洿瀹規槗鍒涘緩涓鑷寸殑API銆?

鍙︿竴涓噸瑕佷絾鏇村姞寰鐨勮鍒欐槸錛屽湪璁捐綾葷殑鏃跺欙紝蹇呴』灝藉姏淇濊瘉瀛愮被鍛藉悕絀洪棿鐨勫共鍑銆傚湪Qt3閲岋紝娌℃湁寰堝ソ鐨勯伒瀹堣繖涓鍒欍傛瘮濡傦紝鎷?a >QToolButton鏉ヤ婦渚嬨傚鏋滀綘鍦≦t3閲岋紝瀵逛竴涓?a >QToolButton璋冪敤name()銆乧aption()銆乼ext()鎴栬卼extLabel()錛屼綘甯屾湜鍋氫粈涔堝憿錛熶綘鍙互鍦≦t Designer閲屾嬁QToolButton璇曡瘯錛?

  • name灞炴х戶鎵胯嚜QObject錛岃〃紺轟竴涓璞$敤浜庨櫎閿欏拰嫻嬭瘯鐨勫唴閮ㄥ悕瀛椼?
  • caption灞炴х戶鎵胯嚜QWidget錛岃〃紺虹獥鍙g殑鏍囬錛岃繖涓爣棰樺湪瑙嗚涓婂QToolButton娌℃湁浠諱綍鎰忎箟錛屽洜涓轟粬浠繪槸璺熼殢鐖剁獥鍙h屽垱寤恒?
  • text灞炴х戶鎵胯嚜QButton錛屼竴鑸儏鍐典笅鏄寜閽笂鐜板疄鐨勬枃瀛楋紝闄ら潪useTextLabel涓虹湡銆?
  • textLabel鍦?a >QToolButton閲屽0鏄庯紝騫朵笖鍦╱seTextLabel涓虹湡鏃舵樉紺哄湪鎸夐挳涓娿?

鐢變簬瀵瑰彲璇繪х殑鍏蟲敞錛宯ame鍦≦t4閲岃縐頒綔objectName錛宑aption鍙樻垚浜唚indowsTitle錛岃屽湪QToolButton閲屼笉鍐嶆湁鍗曠嫭鐨則extLabel灞炴с?

緇欑被鍛藉悕

鏍囪瘑涓緇勭被鑰屼笉鏄崟鐙粰姣忎釜綾繪壘涓伆褰撶殑鍚嶅瓧銆傛瘮濡傦紝Qt4閲屾墍鏈夋ā寮忔劅鐭ラ」鐩殑瑙嗗浘綾伙紙model-aware item view classes錛夐兘鎷ユ湁-View鐨勫悗緙錛?a >QListView銆?a >QTableView鍜?a >QTreeView錛夛紝騫朵笖瀵瑰簲鍩轟簬欏圭洰鐨勭被閮界敤鍚庣紑-Widget浠f浛錛?a >QListWidget銆?a >QTableWidget鍜?a >QTreeWidget錛夈?

緇欐灇涓劇被鍨嬪強鍏跺煎懡鍚?/h3>

褰撳0鏄庢灇涓炬椂錛屾椂鍒昏浣忥紝鍦–++錛堜笉鍍廕ava鍜孋#錛変腑錛屼嬌鐢ㄦ灇涓懼間笉闇瑕佺被鍨嬩俊鎭備笅闈㈢殑渚嬪瓙婕旂ず浜嗙粰鏋氫婦鍊艱搗涓お榪囧父鐢ㄧ殑鍚嶅瓧鎵寮曡搗鐨勫嵄瀹籌細

    namespace Qt
{
enum Corner { TopLeft, BottomRight, ... };
enum CaseSensitivity { Insensitive, Sensitive };
...
};
tabWidget->setCornerWidget(widget, Qt::TopLeft);
str.indexOf("$(QTDIR)", Qt::Insensitive);

鍦ㄦ渶鍚庝竴琛岋紝Insensitive鏄粈涔堟剰鎬濓紵涓涓敤浜庡懡鍚嶆灇涓懼肩殑鎸囧鎬濇兂鏄紝鍦ㄦ瘡涓灇涓懼奸噷錛岃嚦灝戦噸澶嶄竴涓灇涓劇被鍨嬪悕涓殑鍏冪礌錛?

    namespace Qt
{
enum Corner { TopLeftCorner, BottomRightCorner, ... };
enum CaseSensitivity { CaseInsensitive,
CaseSensitive };
...
};
tabWidget->setCornerWidget(widget, Qt::TopLeftCorner);
str.indexOf("$(QTDIR)", Qt::CaseInsensitive);

褰撴灇涓懼煎彲浠ョ敤“鎴?#8221;榪炴帴璧鋒潵褰撲綔涓涓爣蹇楁椂錛屼紶緇熺殑鍋氭硶鏄皢“鎴?#8221;鐨勭粨鏋滀綔涓轟竴涓猧nt淇濆瓨錛岃繖涓嶆槸綾誨瀷瀹夊叏鐨勩俀t4鎻愪緵浜嗕竴涓ā鏉跨被 QFlags<T>鏉ュ疄鐜扮被鍨嬪畨鍏紝鍏朵腑T鏄釜鏋氫婦綾誨瀷銆備負浜嗘柟渚夸嬌鐢紝Qt涓哄緢澶氭爣蹇楃被鍚嶆彁渚涗簡typedef錛屾墍浠ヤ綘鍙互浣跨敤綾誨瀷 Qt::Alignment浠f浛QFlags<Qt::AlignmentFlag>銆?

涓轟簡鏂逛究錛屾垜浠粰鏋氫婦綾誨瀷鍗曟暟鐨勫悕瀛楋紙榪欐牱琛ㄧず鏋氫婦鍊間竴嬈″彧鑳芥湁涓涓爣蹇楋級錛岃?#8220;鏍囧織”鍒欎嬌鐢ㄥ鏁板悕瀛椼傛瘮濡傦細

    enum RectangleEdge { LeftEdge, RightEdge, ... };
typedef QFlags<RectangleEdge> RectangleEdges;

鏈変簺鎯呭喌涓嬶紝“鏍囧織“綾諱嬌鐢ㄤ簡鍗曟暟鐨勫悕瀛椼傝繖鏃訛紝鏋氫婦綾諱嬌鐢?Flag鍋氬悗緙錛?

    enum AlignmentFlag { AlignLeft, AlignTop, ... };
typedef QFlags<AlignmentFlag> Alignment;

錛堣繖閲屼負鍟ヤ笉鏄妸”鏍囧織“綾葷敤-Flag鍋氬悗緙錛岃屾槸鎶婃灇涓懼煎仛鍚庣紑鍛紵鎰熻鏈夌偣娣鋒穯……錛?

緇欏嚱鏁板拰鍙傛暟鍛藉悕

緇欏嚱鏁板懡鍚嶇殑涓涓鍒欐槸錛屽悕瀛楄鏄庣‘浣撶幇鍑鴻繖涓嚱鏁版槸鍚︽湁鍓綔鐢ㄣ傚湪Qt3錛屽父鏁板嚱鏁?a >QString::simplifyWhiteSpace()榪濆弽浜嗚繖涓師鍒欙紝鍥犱負瀹冭繑鍥炵被涓涓?a >QString瀹炰緥錛岃屼笉鏄儚鍚嶅瓧鎵鎻愮ず鐨勯偅鏍鳳紝鏇存敼浜嗚皟鐢ㄨ繖涓嚱鏁扮殑瀹炰緥鏈韓銆傚湪Qt4錛岃繖涓嚱鏁拌閲嶅懡鍚嶄負QString::simplified()銆?

鍙傛暟鍚嶆槸紼嬪簭鍛樼殑閲嶈淇℃伅鏉ユ簮錛岃櫧鐒跺湪浣跨敤API鏃訛紝騫朵笉鐩存帴灞曠ず鍦ㄤ唬鐮侀噷銆傜敱浜庣幇浠DE鍦ㄧ▼搴忓憳鍐欎唬鐮佹椂鍙互鑷姩鏄劇ず鍙傛暟鍚嶏紙灝辨槸鑷姩鎰熺煡鎴栬呰嚜鍔ㄨˉ鍏ㄤ箣綾葷殑鍔熻兘錛夛紝鍊煎緱鑺辨椂闂寸粰澶存枃浠墮噷澹版槑鐨勫弬鏁頒竴涓悎閫傜殑鍚嶅瓧錛屽茍涓斿湪鏂囨。涓篃浣跨敤鐩稿悓鐨勫悕瀛椼?

緇欏竷灝斿艱緗嚱鏁幫紙Setter錛夈佹彁鍙栧嚱鏁幫紙Getter錛夊拰灞炴у懡鍚?/h3>

緇欏竷灝斿睘鎬х殑璁劇疆鍑芥暟鍜屾彁鍙栧嚱鏁頒竴涓悎閫傜殑鍚嶅瓧錛屾繪槸闈炲父鐥涜嫤鐨勩傛彁鍙栧嚱鏁板簲璇ュ彨鍋歝hecked()榪樻槸isChecked()錛焥crollBarsEnabled()榪樻槸areScrollBarEnabled()?

鍦≦t4閲岋紝鎴戜滑浣跨敤涓嬪垪瑙勫垯鍛藉悕鎻愬彇鍑芥暟錛?

  • 褰㈠綾葷殑灞炴т嬌鐢╥s-鍓嶇紑銆傛瘮濡傦細
    • isChecked()
    • isDown()
    • isEmpty()
    • isMovingEnable()
    鍙﹀錛屽簲鐢ㄥ埌澶嶆暟鍚嶈瘝鐨勫艦瀹圭被灞炴ф病鏈夊墠緙錛?
    • scrollBarsEnabled()錛岃屼笉鏄?tt>areScrollBarsEnabled()
  • 鍔ㄨ瘝綾葷殑灞炴т笉浣跨敤鍓嶇紑錛屼笖涓嶄嬌鐢ㄧ涓変漢縐幫紙-s錛夛細
    • acceptDrops()錛岃屼笉鏄?tt>acceptsDrops()
    • allColumnsShowFocus()
  • 鍚嶈瘝綾葷殑灞炴э紝閫氬父娌℃湁鍓嶇紑錛?
    • autoCompletion()錛岃屼笉鏄?tt>isAutoCompletion()
    • boundaryChecking()
    鏈夋椂錛屾病鏈夊墠緙灝變細寮曡搗璇В錛岃繖縐嶆儏鍐典嬌鐢ㄥ墠緙is-錛?
    • isOpenGLAvailable()錛岃屼笉鏄?tt>openGL()
    • isDialog()錛岃屼笉鏄?tt>dialog()
    錛堥氳繃璋冪敤dialogue()鏂規硶錛屾甯告儏鍐典笅浼氭湡鏈涜繑鍥炰竴涓?a >QDialog*鐨勫疄渚嬨傦級

璁劇疆鍑芥暟鍚嶅瓧緇ф壙鑷彁鍙栧嚱鏁板悕錛屽彧鏄Щ鎺変簡鎵鏈夊墠緙錛屽茍浣跨敤set-鍋氬墠緙錛屾瘮濡傦細setDown()榪樻湁setScrollBarsEnabled()銆傚睘鎬х殑鍚嶅瓧涓庢彁鍙栧嚱鏁扮浉鍚岋紝鍙槸鍘繪帀浜嗗墠緙銆?

鎸囬拡榪樻槸寮曠敤錛?/h2>

浼犲嚭鍙傛暟鐨勬渶浣抽夋嫨鏄粈涔堬紝鎸囬拡榪樻槸寮曠敤錛?

    void getHsv(int *h, int *s, int *v) const
void getHsv(int &h, int &s, int &v) const

澶ч儴鍒咰++涔︽帹鑽愬湪鑳界敤寮曠敤鐨勫湴鏂瑰氨鐢ㄥ紩鐢紝榪欐槸鍥犱負涓鑸涓哄紩鐢ㄦ瘮鎸囬拡鏇?#8220;瀹夊叏涓斿ソ鐢?#8221;銆傜劧鑰岋紝鍦ㄥ瓚o紙Trolltech錛夛紝鎴戜滑鍊懼悜浣跨敤鎸囬拡錛屽洜涓鴻繖璁╀唬鐮佹洿鏄撹銆傛瘮杈冿細

    color.getHsv(&h, &s, &v);
color.getHsv(h, s, v);

鍙湁絎竴琛岃兘娓呮鐨勮鏄庯紝鍦ㄥ嚱鏁拌皟鐢ㄥ悗錛宧銆乻鍜寁灝嗘湁寰堝ぇ鍑犵巼琚敼鍔ㄣ?

渚嬪瓙錛歈ProgressBar

涓轟簡灞曠ず濡備綍瀹為檯搴旂敤榪欎簺姒傚康錛屾垜浠皢瀛︿範Qt3涓殑API QProgressBar騫跺拰Qt4閲岀浉閫氱殑API鍋氭瘮杈冦傚湪Qt3閲岋細

    class QProgressBar : public QWidget
{
...
public:
int totalSteps() const;
int progress() const;
const QString &progressString() const;
bool percentageVisible() const;
void setPercentageVisible(bool);
void setCenterIndicator(bool on);
bool centerIndicator() const;
void setIndicatorFollowsStyle(bool);
bool indicatorFollowsStyle() const;
public slots:
void reset();
virtual void setTotalSteps(int totalSteps);
virtual void setProgress(int progress);
void setProgress(int progress, int totalSteps);
protected:
virtual bool setIndicator(QString &progressStr,
int progress,
int totalSteps);
...
};

API鐩稿綋澶嶆潅錛屼笖涓嶇粺涓銆傛瘮濡傦紝浠呬粠鍚嶅瓧reset()騫朵笉鑳界悊瑙e叾浣滅敤錛宻etTotalSteps()鍜宻etProgress()鏄揣鑰﹀悎鐨勩?

鏀硅繘API鐨勫叧閿紝鏄敞鎰忓埌QProgressBar鍜孮t4鐨?a >QAbstractSpinBox綾誨強鍏跺瓙綾?a >QSpinBox錛?a >QSlider鍜?a >QDial寰堢浉浼箋傝В鍐蟲柟娉曪紵鐢╩inimum銆乵aximum鍜寁alue浠f浛progress鍜宼otalSteps銆傚姞鍏lueChanged()淇″彿銆傚姞鍏etRange()鍑芥暟銆?

涔嬪悗瑙傚療progressString銆乸ercentage鍜宨ndicator瀹為檯閮芥寚涓涓笢瑗匡細鍦ㄨ繘搴︽潯涓婃樉紺虹殑鏂囧瓧銆備竴鑸潵璇存枃瀛楁槸鐧懼垎姣斾俊鎭紝浣嗘槸涔熷彲浠ヤ嬌鐢╯etIndicator()璁句負浠繪剰瀛楃銆備笅闈㈡槸鏂扮殑API錛?

    virtual QString text() const;
void setTextVisible(bool visible);
bool isTextVisible() const;

榛樿鐨勬枃瀛椾俊鎭槸鐧懼垎姣斾俊鎭傛枃瀛椾俊鎭彲浠ヨ棄鐢遍噸鏂板疄鐜皌ext()鑰屾敼鍙樸?

鍦≦t3 API涓紝setCenterIndicator()鍜宻etIndicatorFollowStyle()鏄袱涓獎鍝嶅榻愮殑鍑芥暟銆備粬浠彲浠ユ柟渚跨殑鐢變竴涓嚱鏁板疄鐜幫紝setAlignment()錛?

    void setAlignment(Qt::Alignment alignment);

濡傛灉紼嬪簭鍛樹笉璋冪敤setAlignment()錛屽榻愭柟寮忓熀浜庡綋鍓嶇殑椋庢牸銆傚浜庡熀浜嶮otif鐨勯鏍鹼紝鏂囧瓧灝嗗眳涓樉紺猴紱瀵瑰叾浠栭鏍鹼紝鏂囧瓧灝嗛潬鍦ㄥ彸杈廣?

榪欐槸鏀硅繘鍚庣殑QProgressBar API錛?

    class QProgressBar : public QWidget
{
...
public:
void setMinimum(int minimum);
int minimum() const;
void setMaximum(int maximum);
int maximum() const;
void setRange(int minimum, int maximum);
int value() const;
virtual QString text() const;
void setTextVisible(bool visible);
bool isTextVisible() const;
Qt::Alignment alignment() const;
void setAlignment(Qt::Alignment alignment);
public slots:
void reset();
void setValue(int value);
signals:
void valueChanged(int value);
...
};

濡備綍鎶夾PI璁捐濂斤紙鍘熸枃鏄疕ow to Get APIs Right錛屾垜鎬繪兂鎴怶e do APIs right……錛?/h2>

API闇瑕佽川閲忎繚璇併傜涓涓慨璁㈢増涓嶅彲鑳芥槸姝g‘鐨勶紱浣犲繀欏誨仛嫻嬭瘯銆傚啓浜涚敤渚嬶細鐪嬬湅閭d簺浣跨敤浜嗚繖浜汚PI鐨勪唬鐮侊紝騫墮獙璇佷唬鐮佹槸鍚︽槗璇匯?

鍏朵粬鐨勬妧宸у寘鎷鍒殑浜哄垎鍒湪鏈夋枃妗e拰娌℃湁鏂囨。鐨勬儏鍐典笅錛屼嬌鐢ㄨ繖浜汚PI錛涙垨鑰呬負API綾誨啓鏂囨。錛堝寘鎷被鐨勬榪板拰鐙珛鐨勫嚱鏁幫級銆?

褰撲綘鍗′綇鏃訛紝鍐欐枃妗d篃鏄竴縐嶈幏寰楀ソ鍚嶅瓧鐨勬柟娉曪細浠呬粎鏄皾璇曟妸鏉$洰錛堢被錛屽嚱鏁幫紝鏋氫婦鍊鹼紝絳夌瓑鍛釜錛夊啓涓嬫潵騫朵笖浣跨敤浣犲啓鐨勭涓鍙ヨ瘽浣滀負鐏墊劅銆傚鏋滀綘涓嶈兘鎵懼埌涓涓簿紜殑鍚嶅瓧錛岃繖甯稿父璇存槑榪欎釜鏉$洰涓嶅簲璇ュ瓨鍦ㄣ傚鏋滄墍鏈夊墠闈㈢殑浜嬫儏閮藉け璐ヤ簡騫朵笖浣犵‘璁よ繖涓蹇電殑瀛樺湪錛屽彂鏄庝竴涓柊鍚嶅瓧銆傛瘯绔燂紝“widget”銆?“event”銆?#8220;focus”鍜?#8220;buddy”榪欎簺鍚嶅瓧灝辨槸榪欎箞鏉ョ殑銆?



eXile 2008-02-18 00:50 鍙戣〃璇勮
]]>QT涓紓褰㈢獥鍙g殑緇樺埗http://www.shnenglu.com/eXile/archive/2007/12/09/38084.htmleXileeXileSun, 09 Dec 2007 07:06:00 GMThttp://www.shnenglu.com/eXile/archive/2007/12/09/38084.htmlhttp://www.shnenglu.com/eXile/comments/38084.htmlhttp://www.shnenglu.com/eXile/archive/2007/12/09/38084.html#Feedback4http://www.shnenglu.com/eXile/comments/commentRss/38084.htmlhttp://www.shnenglu.com/eXile/services/trackbacks/38084.html銆銆榪欓噷璁ㄨ鐨勫彧鏄疻indows騫沖彴涓婄殑瀹炵幇銆?br>銆銆鍦急錛翠腑緇樺埗寮傚艦紿楀彛錛屽彧瑕佽瀹?windowFlag 涓?CustomizeWindowHint錛屽啀緇撳悎setMask()灝卞彲浠ュ仛鍑哄悇縐嶅褰㈡姸鐨勭獥鍙c傜浉瀵規潵璇存瘮杈冮夯鐑︾殑, 鏄繘琛岀獥鍙f嫋鍔ㄥ拰緙╂斁鐨勫鐞嗐?br>銆銆鍦?Windows SDK 鍜?MFC銆涓瘮杈冨鏄擄紝鍙澶勭悊 WM_NCHITTEST錛岃繑鍥炵浉搴旂殑嫻嬭瘯鍊煎氨鍙互浜嗐傚垢榪愮殑鏄紝錛憋即涓篃鎻愪緵浜嗙洿鎺ュ鐞嗗悇騫沖彴娑堟伅鐨勬柟娉曪紝鍦?Windows涓嬪彧闇瑕侀噸杞絯inEvent鏂規硶銆?br> 
銆銆涓嬮潰緇欏嚭浜嗙ず渚嬩唬鐮侊細
// include <windows.h>

bool MyDialog::winEvent(MSG* msg, long* result)
{
    
const int captionHeight = 25;
    
const int frameWidth = 6;
    
    
if (msg->message != WM_NCHITTEST) return false;

    QPoint pos 
= mapFromGlobal(QCursor::pos());
    
int w = width();
    
int h = height();

    
if (QRect(frameWidth, captionHeight, w-frameWidth-frameWidth, h-captionHeight-frameWidth).contains(pos))
    {
        
*result = HTCLIENT;
    }
    
else if (QRect(00, w, captionHeight).contains(pos))
    {
        
*result = HTCAPTION;
    }
    
else if (QRect(0, captionHeight, frameWidth, h-captionHeight-frameWidth).contains(pos))
    {
        
*result = HTLEFT;
    }
    
else if (QRect(w-frameWidth, captionHeight, frameWidth, h-captionHeight-frameWidth).contains(pos))
    {
        
*result = HTRIGHT;
    } 
        else if  (QRect(frameWidth, h-frameWidth, w-frameWidth-frameWidth, frameWidth).contains(pos))
       {
           *result = HTBOTTOM;
       } 
    
else if (QRect(0, h-frameWidth, frameWidth, frameWidth).contains(pos))
    {
        
*result = HTBOTTOMLEFT;
    }
    
else if (QRect(w-frameWidth, h-frameWidth, frameWidth, frameWidth).contains(pos))
    {
        
*result = HTBOTTOMRIGHT;
    }
    
    return 
true;
}


eXile 2007-12-09 15:06 鍙戣〃璇勮
]]>
久久夜色精品国产噜噜麻豆| 久久综合亚洲欧美成人| 亚洲国产成人久久综合碰碰动漫3d | 久久亚洲国产成人影院| 欧美成人免费观看久久| 亚洲午夜福利精品久久| 热re99久久精品国99热| 99久久伊人精品综合观看| 久久国产视频99电影| 亚洲国产天堂久久久久久| 97久久精品人妻人人搡人人玩| 久久大香香蕉国产| 精品久久人人爽天天玩人人妻| 狠狠色伊人久久精品综合网| 天天躁日日躁狠狠久久| 亚洲国产精品久久66| 久久无码人妻一区二区三区午夜| 精品久久久久久久| 久久久国产精华液| 日本精品久久久久影院日本 | 一本色综合久久| 国产美女亚洲精品久久久综合 | 色8久久人人97超碰香蕉987| 国产精品99久久免费观看| 一级做a爰片久久毛片看看| 久久91精品国产91久久户| 久久精品无码一区二区WWW| 国产精久久一区二区三区| 99久久久精品| 国产精品久久久久久吹潮| 久久久久人妻一区精品色| 国产成人无码精品久久久性色| 亚洲精品综合久久| 久久九色综合九色99伊人| 精品一久久香蕉国产线看播放| 久久国产精品-久久精品| 色99久久久久高潮综合影院| 国产精品99久久精品爆乳| 国产精品99久久久久久董美香| 精品久久久久久久| 婷婷久久综合九色综合98|