成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Qt 編程點(diǎn)滴 初學(xué)者必看 (4)

移動(dòng)開發(fā)
本人介紹的是Qt 編程點(diǎn)滴,作為一名新手,我建議必須看一看。編程那些事,只有編程人員自己明白!所以推薦本文。

Qt 編程繼續(xù)為大家講解,還是接著文章 Qt 編程點(diǎn)滴 初學(xué)者必看 (3) ,繼續(xù)介紹,說編程那些細(xì)節(jié)。由于本話題是一節(jié)一節(jié)為大家介紹的,所以更多內(nèi)容請看末尾編輯推薦。

編譯win32 中的 dll工程配置方法(以skypebackend為例):

因?yàn)楣こ讨械拇a全是標(biāo)準(zhǔn)C++的代碼,所以編譯方式跟Qt有點(diǎn)不一樣,

Project-properties...-Project settings頁中的"This is a custom Makefile"前面的方框不要勾選

Project-properties...-Build targets 右邊中的"Type"設(shè)置為"Console application"(skypebackend為控制臺(tái)程序)

Project-build options-Linker settings頁,設(shè)置Link libraries內(nèi)容為:(win32庫文件)

  1. ..\..\..\..\MinGW\lib\librpcdce4.a  
  2. ..\..\..\..\MinGW\lib\librpcns4.a  
  3. ..\..\..\..\MinGW\lib\librpcrt4.a 

按回車定位到下一焦點(diǎn):

  1. connect(lineEdit1, SIGNAL(returnPressed()), lineEdit2, SLOT(setFocus())); 

項(xiàng)目翻譯DEMO:

  1. #include   
  2. #include   
  3. #include   
  4. int main( int argc, char **argv )  
  5. {  
  6.     QApplication app( argc, argv );  
  7.     QTranslator translator( 0 );//Creates a QTranslator object without a parent  
  8.     translator.load( "ttl_zh-cn", "." );//Try to load a file called ttl_zh-cn.qm  
  9.     app.installTranslator( &translator );//Add the translations from ttl_zh-cn.qm to the pool of translations  
  10.     QPushButton hello( QPushButton::tr( "Hello world!" ), 0 );  
  11.     app.setMainWidget( &hello );  
  12.     hello.show();  
  13.     return app.exec();  

1.使用qmake -project生成.pro文件;

2.在.pro文件中加上如下語句:

 

  1. TRANSLATIONS    = ttl_zh-cn.ts 

3.運(yùn)行如下命令:

  1. lupdate ttl.pro 

生成ttl_zh-cn.ts文件;(PS:.ts的名字來自“翻譯源”(translation source))

4.運(yùn)行如下命令:

  1. linguist ttl_zh-cn.ts 

這時(shí)候會(huì)彈出一個(gè)圖形界面工具:

(1)單擊左邊窗口的QPushButton

(2)雙擊中間窗口的helloworld!這時(shí)會(huì)彈出一個(gè)對(duì)話框,在Translation下輸入:你好世界!

(3)單擊工具欄的Done and Next按鈕(這個(gè)時(shí)候QPushButton的前面會(huì)變成綠色的對(duì)號(hào))顯示翻譯完成

(4)然后File->Release,這個(gè)是生成.qm文件(.qm來自“QT消息”Qt message),保存到當(dāng)前目錄下,也可以使用命令release ttl_zh-cn.ts來生成.qm文件的。

(5)點(diǎn)擊linguist“X”退出窗口,這個(gè)時(shí)候會(huì)提示保存ttl_zh-cn.ts文件,單擊save,完成操作。

這一步的目的是把“你好世界!”來替代ttl_zh-cn.ts中的“unfinished”,這個(gè)只要了解就可以了,有興趣的可以去看看Qt參考文檔。

5.運(yùn)行如下命令:

  1. qmake ttl.pro 

6.運(yùn)行如下命令:

  1. make 

7.運(yùn)行如下命令:

  1. ./ttl 

這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)按鈕是顯示的是:“你好世界!”  而不是“helloworld!”

PS:lupdate和lrelease命令都可以帶參數(shù)-verbose,這樣會(huì)顯示一些提示信息。這個(gè) 參數(shù)是可選的。

通過上面的步驟可以完成正常的翻譯,但對(duì)象QLineEdit的右鍵菜單顯示的還是英文,解決方法:把Qt\translations目錄下的qt_zh_CN.ts里面的內(nèi)容全部拷到自己項(xiàng)目ts文件的后面就可以了(也就是把兩個(gè)ts文件合并)

4字節(jié)空間存INT類型:

  1. #define USERGROUP_WIDTH 5;  
  2.  
  3. char buff[5];  
  4. int groupid = atoi(groupId.trimmed().toAscii().data()); //得到GroupID的int值  
  5. char* gid = (char*)(&groupid);      //將groupid轉(zhuǎn)化為char*類型  
  6. memcpy(buff, gid, USERGROUP_WIDTH-1);  
  7.  
  8. char p[4];  
  9. memset(buff, 0, USERGROUP_WIDTH);  
  10. memcpy(buff, p, USERGROUP_WIDTH-1);  
  11. int  gid = *((int*)(&buff));  

錯(cuò)誤信息:redefinition class...

請核對(duì)

  1. #ifndef IGPSINTERACTION_H_INCLUDED  
  2. #define IGPSINTERACTION_H_INCLUDED 

上面兩行中的名稱是否一樣(出現(xiàn)過第兩行中最后一個(gè)"D"沒掉, 找了N久才查出問題,汗~~~)

另一原因是變量定義不可放在.h文件中,如下

  1. struct mystruct{  
  2.   ...    
  3. }; 

是一個(gè)變量 (不可放在.h文件中實(shí)現(xiàn))

  1. typedef struct MyStruct{  
  2.  ....  
  3. }mystruct; 

其中 MyStruct是一種類型,而mystruct是一個(gè)變量標(biāo)準(zhǔn)用法

在.h文件中

  1. typedef struct MyStruct{  
  2.  ....  
  3. }; 

在.cpp中定義變量

  1. struct MyStruct mystruct;  
  2. std::string 轉(zhuǎn)QString:  
  3. std::string  groupName = \\\'abcdef\\\';  
  4. const char *groupNamegroupNameCh = groupName.c_str();  
  5. QString tmpStr = QObject::tr(groupNameCh);     

窗體在執(zhí)行destory()時(shí),qapp對(duì)象就已經(jīng)退出啦;

gsoap項(xiàng)目中的錯(cuò)誤:multiple definition of `namespaces\\\'

解決方法:用gsoap中的工具生成的 nsmap文件(#include "UMPCServer.nsmap")引用不能寫在.h中,應(yīng)該要寫在.cpp文件中;

  1. a.cpp:  
  2. #include "UMPCServer.nsmap" 

上面的寫法是正確的,不能寫在a.h文件中,否則就會(huì)報(bào)錯(cuò)

刪除TreeWidget結(jié)點(diǎn):

  1. void MainWindow::clearTreeWidget()  
  2. {  
  3.     while ( treeWidget->topLevelItemCount() > 0 )  
  4.     {  
  5.         QTreeWidgetItem *parentItem = treeWidget->takeTopLevelItem(0);  
  6.         QList list = parentItem->takeChildren ();  
  7.  
  8.         for (int j = 0; j < list.size(); j++)  
  9.         {  
  10.             QTreeWidgetItem *childItem = list.at(j);  
  11.             delete &nodeItemData(childItem);  
  12.             delete childItem;  
  13.         }  
  14.         delete &nodeItemData(parentItem);  
  15.         delete parentItem;  
  16.  
  17.     }  
  18.  
  1. IGPSNestData* resolveRecord(const QSqlRecord &record,const DataType &dateType )  
  2. error: expected `,\\\' or `...\\\' before \\\'&\\\' token   
  3. 解決方法 #include  

 

  1. GpsSideBar::IGPSNestData* GpsSideBar::resolveRecord(const QSqlRecord &record,const GpsSideBar::DataType &dateType );  
  2. {  
  3. }  
  4. error: declaration of `GpsSideBar::IGPSNestData* GpsSideBar::resolveRecord(const QSqlRecord&, const GpsSideBar::DataType&)\\\' 
  5. outside of class is not definition  解決方法:去掉函數(shù)頭最后的";"  
  6.  
  7. GpsSideBar::IGPSNestData* GpsSideBar::resolveRecord(const QSqlRecord &record,const GpsSideBar::DataType &dateType )  
  8. {  

小結(jié):本文主要介紹了在Qt 窗體的使用,通過Qt 編程點(diǎn)滴介紹,也給自己提高了編程過程中需要注意的細(xì)節(jié)問題,由于本話題是一節(jié)一節(jié)為大家展現(xiàn)的,所以更多內(nèi)容,請看編輯推薦。

 
責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-17 14:12:32

Qt

2011-06-17 15:06:14

Qt

2011-06-17 14:29:55

Qt

2011-06-17 15:32:28

Qt

2011-06-17 14:41:56

Qt

2011-06-17 15:19:28

Qt

2011-06-17 15:25:18

Qt

2011-06-17 15:37:42

Qt

2011-06-17 15:44:25

Qt

2011-09-16 09:38:19

Emacs

2011-06-27 14:56:46

Qt Designer

2011-09-08 10:38:37

Widget

2011-08-24 17:05:01

Lua

2013-04-23 10:51:15

Linux壓縮

2011-07-26 17:55:16

iPhone Runtime

2011-08-04 18:01:07

IOS Cocoa Touc

2009-10-29 09:19:59

ADO.NET

2009-11-17 15:33:26

PHP數(shù)組元素

2009-10-22 16:46:03

VB.NET初步知識(shí)

2009-11-23 10:29:43

CISCO路由器教程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品九九 | 一级一级毛片免费看 | 亚洲精品天堂 | 成人免费观看男女羞羞视频 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 精品成人一区二区 | 亚洲性综合网 | 久久精品视频在线播放 | 免费黄网站在线观看 | 亚洲综合网站 | 蜜桃av一区二区三区 | a欧美 | 三级av在线 | 中国一级特黄真人毛片免费观看 | 午夜影院在线观看 | 在线视频 亚洲 | 色综合色综合网色综合 | 亚洲日韩中文字幕 | 欧美一区二区三区久久精品 | 国产精品久久久久久久久免费樱桃 | 国产精品美女久久久av超清 | 久久国产精品一区二区三区 | 亚洲欧美日韩精品久久亚洲区 | 亚洲高清视频在线 | 国产精品久久久久久妇女 | 亚洲国产精品视频一区 | 九色国产| 久久久女女女女999久久 | 一区二区三区精品视频 | 日韩一区精品 | 欧美精品一区二区三区在线播放 | 欧美一区永久视频免费观看 | 午夜精品视频 | 一区二区三区四区国产 | 久草.com | 欧美视频第二页 | 欧美一区二区三区在线观看视频 | 国产欧美日韩一区二区三区 | 久久尤物免费一区二区三区 | 国产xxxx在线 | 欧美日韩国产一区二区三区 |