精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Qt 編程點滴 初學者必看 (5)

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

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

QTreeWidget/QTreeView中的CheckStatus狀態的級聯更新

  1. void GpsSideBar::on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column )  
  2. {  
  3.     if (!item || column != 0)  
  4.         return;  
  5.  
  6.     Qt::CheckState state = item->checkState(0);  
  7.     QTreeWidgetItem *parent = item->parent();  
  8.  
  9.     if (parent)  
  10.     {  
  11.         int number = 0;  
  12.         int partiallyCheckedNum = 0;  
  13.         for (int row = 0; row < parent->childCount(); ++row)  
  14.         {  
  15.             if (parent->child(row)->checkState(0) == Qt::Checked)  
  16.                 ++number;  
  17.             if (parent->child(row)->checkState(0) == Qt::PartiallyChecked)  
  18.                 ++partiallyCheckedNum;  
  19.         }  
  20.         if (number == 0)  
  21.         {  
  22.             if (parent->checkState(0) != Qt::Unchecked && partiallyCheckedNum == 0)  
  23.                 parent->setCheckState(0, Qt::Unchecked);  
  24.             else if (parent->checkState(0) != Qt::PartiallyChecked && partiallyCheckedNum > 0)  
  25.                 parent->setCheckState(0, Qt::PartiallyChecked);  
  26.  
  27.         }  
  28.         else if (number == parent->childCount())  
  29.         {  
  30.             if (parent->checkState(0) != Qt::Checked )  
  31.                 parent->setCheckState(0, Qt::Checked);  
  32.         }  
  33.         else  
  34.         {  
  35.             if (parent->checkState(0) != Qt::PartiallyChecked )  
  36.                 parent->setCheckState(0, Qt::PartiallyChecked);  
  37.         }  
  38.     }  
  39.  
  40.     if (item->childCount() > 0)  
  41.     {  
  42.         int row;  
  43.         if (state == Qt::Checked)  
  44.         {  
  45.             for (row = 0; row < item->childCount(); ++row)  
  46.             {  
  47.                 if (item->child(row)->checkState(0) != Qt::Checked)  
  48.                     item->child(row)->setCheckState(0, Qt::Checked);  
  49.             }  
  50.         }  
  51.         else if (state == Qt::Unchecked )  
  52.         {  
  53.             for (row = 0; row < item->childCount(); ++row)  
  54.             {  
  55.                 if (item->child(row)->checkState(0) != Qt::Unchecked)  
  56.                     item->child(row)->setCheckState(0, Qt::Unchecked);  
  57.             }  
  58.         }  
  59.     }  

清空QtreeWidget/QTreeView所有結點(gpssidebar.cpp文件中提取):

  1. void GpsSideBar::clearTreeWidget(QTreeWidget *treeWidget) {  
  2.     while ( treeWidget->topLevelItemCount() > 0 )  
  3.     {  
  4.         QtreeWidgetItem *parentItem = treeWidget->takeTopLevelItem(0);  
  5.         QList list = parentItem->takeChildren ();  
  6.  
  7.         for (int j = 0; j < list.size(); j++)  
  8.         {  
  9.             QtreeWidgetItem *childItem = list.at(j);  
  10.             delete &GetGPSNestData(childItem);  
  11.             delete childItem;  
  12.         }  
  13.         delete &GetGPSNestData(parentItem);  
  14.         delete parentItem;  
  15.     }  

ini配置文件中的字段名是區分大小寫的

  1. void MainWindow::contextMenuEvent(QContextMenuEvent *event)  
  2. {  
  3.     QMenu menu(this);  
  4.     menu.addAction(cutAct);  
  5.     menu.addAction(copyAct);  
  6.     menu.addAction(pasteAct);  
  7.     menu.exec(event->globalPos());  

 
讓QLineEdit不彈出右鍵菜單:

  1. QLineEdit->setContextMenuPolicy(Qt::NoContextMenu); 

計算坐標兩點間的角度,有兩種方法。

***種方法:

  1. double calcAngle(const QPointF& centerPos,const QPoint& pos)  
  2. {  
  3.     double px1,px2,py1,py2;  
  4.     px1 = centerPos.x();  
  5.     py1 = centerPos.y();  
  6.     px2 = pos.x();  
  7.     py2 = pos.y();  
  8.     double x = px2 - px1;  
  9.     double y = py2 - py1;  
  10.     double hyp = sqrt(pow(x,2) + pow(y,2));  
  11.     double cos = x / hyp;  
  12.     double rad = acos(cos);  
  13.     double deg = 180/(M_PI / rad);  
  14.     if (y < 0)  
  15.     {  
  16.         deg = -deg;  
  17.     }  
  18.     else if ((y == 0) && (x <0))  
  19.     {  
  20.         deg = 180;  
  21.     }  
  22.     degdeg = deg + 90;  
  23.     if (deg < 0)  
  24.     {  
  25.         degdeg = deg + 360;  
  26.     }  
  27.     return deg;  

第二種方法:

  1. int calcAngle(const double& sx,const double& sy,const double& dx,const double& dy)  
  2. {  
  3.     double x, y, k1, k2;  
  4.     x = dx - sx;  
  5.     y = dy - sy;  
  6.     if ( (x == 0) && (y == 0) )  
  7.     {  
  8.         return 0;  
  9.     }  
  10.   if (x == 0)  
  11.   {  
  12.       if ( y < 0) return 0;////在X軸上時兩種結果  
  13.       if ( y > 0) return 180;  
  14.   }  
  15.  
  16.   if ( y == 0)  
  17.   {  
  18.       if ( x > 0 ) return 90;//在Y軸上時兩種結果  
  19.       if ( x < 0) return 270;  
  20.   }  
  21.   k1 = 0; //因為直線(L1)在Y軸上,所以方程為:y=0x+0;即Y=0;斜率為0  
  22.   k2 = y / x; //直線(L2)的斜率為 y/x,前面已經去除了x=0y=0的情況  
  23.   int  result = round(atan(fabs(k1 - k2)) * 180 / M_PI);  
  24.   //由于K1=0,所以 a :abs(k1 - k2) / abs(1 + k1 * k2);  
  25.   if ( (x > 0) && (y < 0) )  
  26.   {  
  27.       result = 90 - result;  
  28.   }  
  29.   else if ( (x > 0) && (y > 0) )  
  30.   {  
  31.       result = 90 + result;  
  32.   }  
  33.   else if ( (x < 0) && (y > 0) )  
  34.   {  
  35.       result = 270 - result;  
  36.   }  
  37.   else if ( (x < 0) && (y < 0) )  
  38.   {  
  39.       result = 270 + result;  
  40.   }  
  41.   return result;  
  1. void MainWindow::setCurrentFile(const QString &fileName)  
  2. {  
  3.     curFile = fileName;  
  4.     if (curFile.isEmpty())  
  5.         setWindowTitle(tr("Recent Files"));  
  6.     else  
  7.         setWindowTitle(tr("%1 - %2").arg(strippedName(curFile))  
  8.                                     .arg(tr("Recent Files")));  
  9.  
  10.     QSettings settings("Trolltech", "Recent Files Example");  
  11.     QStringList files = settings.value("recentFileList").toStringList();  
  12.     files.removeAll(fileName);  
  13.     files.prepend(fileName);  
  14.     while (files.size() > MaxRecentFiles)  
  15.         files.removeLast();  
  16.     settings.setValue("recentFileList", files); 

   
setMouseTracking(true)是打開鼠標移動跟蹤,默認情況下只有在鼠標按下后才會發送QMouseMoveEvent()事件,打開鼠標移動跟蹤后就能夠隨時發送了。

Qt獲取mysql包含中文的值 

  1. QString lname2 = QString::fromUtf8(query.value(0).toByteArray());  
  2. qDebug()< 
  3. QTreeWidgetItem::setData ( int column, int role, const QVariant & value ) 

用法:自定義一個類:

  1. class ItemData  
  2. {  
  3. public:  
  4.   QString name;  
  5.   int age;  
  6. };  
  7. Q_DECLARE_METATYPE(ItemData); 

//把數據指針存入結點Data:

  1. void GpsSideBar::setItemData(QTreeWidgetItem * item,ItemData *itemData)  
  2. {  
  3.     //item->setData(0,Qt::UserRole, qVariantFromValue(ItemData(*itemData)) );  
  4.     item->setData(0,Qt::UserRole, qVariantFromValue( int(itemData) ) );  
  5. }  
  6. //取值  
  7. ItemData* GpsSideBar::GetGPSNestData(QTreeWidgetItem *item)  
  8. {  
  9.     //return qVariantValue(item->data(0,Qt::UserRole));  
  10.    return  reinterpret_cast ( qVariantValue(item->data(0,Qt::UserRole)) );  

在linux下運行designer不能正常顯示中文的解決方法:

在qtconfig中設置font為Bitstream Charter,然后保存就OK了。

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

 

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-17 14:12:32

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 14:54:31

Qt

2011-06-17 15:25:18

Qt

2011-06-17 15:19:28

Qt

2011-06-17 15:44:25

Qt

2011-06-17 15:37:42

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-08-04 18:01:07

IOS Cocoa Touc

2009-10-29 09:19:59

ADO.NET

2011-07-26 17:55:16

iPhone Runtime

2009-11-17 15:33:26

PHP數組元素

2009-10-22 16:46:03

VB.NET初步知識

2011-08-30 11:23:16

無線網卡怎么用無線網卡無線上網卡
點贊
收藏

51CTO技術棧公眾號

久久久久久伊人| 国产69精品久久| 西瓜成人精品人成网站| 欧美激情一区二区三区| 久久久免费在线观看| 国产日韩欧美久久| 久久久久亚洲av成人毛片韩| 91麻豆精品国产综合久久久| 久久人人超碰精品| 久久久亚洲福利精品午夜| 李丽珍裸体午夜理伦片| 1stkiss在线漫画| 日韩成人综合| 色素色在线综合| 国产伦精品一区二区三区免| 美国黄色小视频| 九九热这里有精品| 亚洲国产精品ⅴa在线观看| 欧美性受xxx| xxxx黄色片| 97超碰免费在线| 国产99久久久国产精品潘金网站| 久久久精品在线观看| 少妇一级淫免费放| 成年人在线观看网站| 另类激情亚洲| 亚洲男女自偷自拍图片另类| 69堂免费视频| 免费在线高清av| 久久免费国产| 尤物精品国产第一福利三区| 虎白女粉嫩尤物福利视频| 少妇激情av一区二区| 国产精品一级| 国产一区二区三区视频免费| 欧美黄色性生活| f2c人成在线观看免费视频| 欧美国产成人精品| 女同一区二区| 成人一二三四区| 色小子综合网| 亚洲人永久免费| 亚洲第一狼人区| 波多视频一区| 国产精品视频在线看| 国产精品一区二| av官网在线观看| 在线欧美福利| 亚洲人成电影网| 久久久老熟女一区二区三区91| 电影91久久久| 婷婷综合在线观看| 日韩资源av在线| 日本久久综合网| 久久视频国产| 欧美sm美女调教| 18禁男女爽爽爽午夜网站免费| 国产网站在线播放| 激情都市一区二区| 久久理论片午夜琪琪电影网| 欧美黑人性猛交xxx| 国产日韩三级| 欧美中文一区二区三区| 午夜探花在线观看| 亚洲欧美日韩成人在线| 日韩精品乱码免费| 美女啪啪无遮挡免费久久网站| 性xxxxxxxxx| 欧美一区国产| 亚洲欧美另类图片小说| 玛丽玛丽电影原版免费观看1977| 日本黄色免费视频| 美国毛片一区二区三区| 久久久天堂国产精品女人| 久久网免费视频| 精品视频黄色| 日韩欧美国产不卡| 杨幂毛片午夜性生毛片| 国产91欧美| 欧美美女一区二区在线观看| 欧美日本视频在线观看| 涩涩在线视频| 亚洲黄色小说网站| 日韩久久精品一区二区三区| 国产片在线观看| 久久日一线二线三线suv| 日韩欧美三级一区二区| 超碰免费在线| 亚洲女爱视频在线| 免费不卡av在线| 免费av在线播放| 久久亚洲免费视频| 亚洲一区不卡在线| 经典三级在线| 99九九99九九九视频精品| 91久久精品国产91久久性色| 91青青草视频| 精品中文av资源站在线观看| 国产精品99久久99久久久二8| 久久久精品国产sm调教| 99亚洲精品| 欧美黑人视频一区| 神马午夜精品91| 日韩黄色大片| 欧美日韩电影在线观看| 视频国产一区二区| 精品国产午夜| 欧美xxxx做受欧美| 亚洲成人第一网站| 亚洲综合电影一区二区三区| 午夜精品免费视频| 豆国产97在线 | 亚洲| 羞羞答答成人影院www| 中文字幕综合一区| 日本精品久久久久中文| 精品久久中文| 欧美激情一级二级| 正在播放亚洲精品| 视频在线观看国产精品| 91久久极品少妇xxxxⅹ软件| 国产精品久久久午夜夜伦鲁鲁| 日韩av一区二区在线影视| 欧美中文字幕第一页| 亚洲日本视频在线观看| 国产综合色精品一区二区三区| 91精品国产综合久久香蕉最新版| 亚洲天堂网视频| 韩国av一区二区三区| 美女亚洲精品| av免费在线视| 欧美一卡二卡在线观看| 色悠悠在线视频| 精品成人自拍视频| 亚洲美女www午夜| 久久国产在线视频| 亚洲一区二区三区免费在线观看| 成人国产精品一区二区| 99国产成人精品| 成人黄色网址在线观看| 精品欧美一区二区三区久久久| 深夜福利在线观看直播| 久久精品一区蜜桃臀影院| 日韩精品一区二区三区外面| 成年人黄色大片在线| 色婷婷国产精品综合在线观看| 亚洲精品怡红院| 自拍偷拍欧美日韩| 一区二区三区www| 欧产日产国产69| 97精品超碰一区二区三区| 日韩精品一区在线视频| 99久久香蕉| 亚洲欧美精品中文字幕在线| 国产网站在线看| 成人综合在线观看| 农村寡妇一区二区三区| 伊伊综合在线| 亚洲欧洲一区二区三区在线观看| 成人午夜视频精品一区| 麻豆一区二区三| 天堂一区二区三区| 123成人网| 精品国内二区三区| 麻豆一区二区三区精品视频| 成人性生交大片免费看中文 | 亚洲va综合va国产va中文| 韩国三级成人在线| 日韩禁在线播放| 国精产品一区一区二区三区mba| 麻豆91在线播放免费| 在线国产99| 在线免费av资源| 91麻豆精品国产91久久久资源速度 | 黑人巨大精品| 中文字幕久久久av一区| 国产精品乱码久久久| 亚洲人成网站影音先锋播放| 免费在线激情视频| 成人aaaa| 91高清视频免费| 精品国产av一区二区| 久久精品一区二区三区不卡牛牛| 999精品网站| 欧美oldwomenvideos| 成人三级在线| 黄网站在线免费看| 日本韩国欧美一区二区三区| 色欲狠狠躁天天躁无码中文字幕| 亚洲福利专区| 国产亚洲精品自在久久| huan性巨大欧美| 欧美三区在线观看| 草草地址线路①屁屁影院成人| 欧美在线三级| 国产欧美一区二区三区在线看 | 青青视频在线播放| 亚洲一级大片| 久久激情视频免费观看| www.成人在线观看| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 日本在线小视频| 国产乱码精品1区2区3区| 亚洲高清在线播放| 日韩成人av电影| 久久手机免费视频| 国产麻豆一精品一男同| 亚洲高清不卡在线| 色哟哟网站在线观看| 老鸭窝91久久精品色噜噜导演| 中文字幕一区二区三区四区五区六区| 超碰在线亚洲| 国产一区欧美二区三区| 欲香欲色天天天综合和网| 久久在线视频在线| 国产区视频在线| 日韩av网址在线| 国产强被迫伦姧在线观看无码| 一本大道久久a久久精二百 | 在线精品小视频| 91精品视频播放| 日韩免费va| 97精品一区二区三区| 麻豆传媒视频在线观看免费| 亚洲理论在线a中文字幕| www.色亚洲| 欧美美女直播网站| 亚洲视频一区二区三区四区| 欧美性精品220| 日本少妇xxxxx| 99国产精品视频免费观看| xxx中文字幕| 亚洲高清免费| 黄色特一级视频| 国产亚洲成av人片在线观黄桃| 国产一区二区香蕉| 成人黄页网站视频| 日韩男女性生活视频| 国产黄在线看| 亚洲开心激情网| 天堂在线免费av| 亚洲黄一区二区| 人妻中文字幕一区二区三区| 国产精品久久久久久亚洲伦| 色姑娘综合天天| 免费国产亚洲视频| 日韩中文字幕在线不卡| 国产精品久久久久久麻豆一区软件 | 中文字幕在线2018| 在线视频观看一区| 日韩 国产 欧美| 91成人国产精品| 免费一级a毛片| 欧美亚洲愉拍一区二区| 在线免费日韩av| 亚洲免费在线播放| 波多野结衣不卡视频| 亚洲精品国产视频| 免费观看一级视频| 午夜精品一区在线观看| 9.1片黄在线观看| 国产精品污污网站在线观看| 国产视频不卡在线| 丁香五精品蜜臀久久久久99网站| 黑人性生活视频| 视频一区中文字幕| 爱情岛论坛成人| 久久99国产精品久久99果冻传媒| 福利视频999| 母乳一区在线观看| 国产免费人做人爱午夜视频| 久久成人综合| 在线视频不卡一区二区| 欧美全黄视频| 亚欧精品在线| 天天射天天综合网| 成人在线免费观看视频网站| 在线观看亚洲| 精品少妇无遮挡毛片| 精品一区免费av| 国产女主播在线播放| 久久综合中文字幕| 农村老熟妇乱子伦视频| 亚洲精品高清在线| 中文字幕第四页| 欧美精品在线一区二区三区| h狠狠躁死你h高h| 精品亚洲夜色av98在线观看| www.日韩在线观看| 亚洲乱码国产乱码精品精天堂| 成人在线观看网站| 欧美丰满少妇xxxxx做受| 看黄在线观看| 91精品国产综合久久男男| 卡一精品卡二卡三网站乱码 | 女人色偷偷aa久久天堂| 久久综合九色综合88i| 奇米精品一区二区三区四区| 三上悠亚 电影| 久久精品欧美一区二区三区麻豆| 亚洲av成人精品一区二区三区| 国产女主播在线一区二区| 免费一级黄色大片| 91久久精品一区二区| 亚洲国产一二三区| 日韩欧美一区二区视频| 天堂v视频永久在线播放| 日韩一中文字幕| 午夜激情视频在线| 日韩在线视频国产| 日韩伦理在线电影| 亚洲18私人小影院| 不卡的国产精品| 欧美精品久久久| 国产精品一区高清| 日本午夜精品一区二区三区| 九九综合在线| 日本一区二区在线视频观看| 91精品电影| 久久久久久三级| av一二三不卡影片| 人妻丰满熟妇av无码久久洗澡 | 日韩黄色三级| 国产伊人精品在线| 精品中文一区| 国内精品视频一区二区三区| 国产在线视视频有精品| 蜜乳av中文字幕| 欧美日韩中国免费专区在线看| www.av网站| 乱亲女秽乱长久久久| 精品176极品一区| 日韩精品一线二线三线| 久久久精品午夜少妇| 免费a v网站| 亚洲综合清纯丝袜自拍| 日韩手机在线观看| 日韩精品专区在线影院观看| 国产原创视频在线观看| 国产欧美久久久久久| 日韩精品中文字幕吗一区二区| 国产99午夜精品一区二区三区 | 最近的2019中文字幕免费一页| 亚洲欧美se| 美女黄毛**国产精品啪啪| 亚洲男人影院| 亚欧洲乱码视频| 国产精品三级av| 日韩久久久久久久久久| 亚洲午夜久久久影院| 欧美日韩国产v| 欧美日韩在线精品| 日韩av不卡在线观看| 免费看91的网站| 欧美亚洲自拍偷拍| 日本在线视频网| 成人免费淫片视频软件| 中文字幕亚洲精品乱码| 999热精品视频| 久久精品一级爱片| 久久久久久无码午夜精品直播| 在线视频欧美日韩精品| 福利一区二区免费视频| 在线免费观看成人| 丁香婷婷综合五月| 特黄视频免费看| 一本色道久久综合狠狠躁篇怎么玩| 亚洲四虎影院| 五月天男人天堂| 久久先锋影音| 夫妇露脸对白88av| 91精品国产综合久久香蕉的特点| 在线看女人毛片| 激情五月综合色婷婷一区二区 | 免费人成黄页在线观看忧物| 国产精品第七十二页| 国产成人精品福利| 尤物av无码色av无码| 日本一区二区三区免费乱视频 | 国产欧美一区二区三区精品酒店| 日韩一区二区电影在线观看| 精品一区二区三区av| 国产一级视频在线播放| 国产亚洲精品久久| 国内精品视频| 干日本少妇首页| 中文字幕一区二区在线播放| 精品国产一区二区三区四| 一区二区三区四区在线观看视频| 久久久91麻豆精品国产一区| 欧美成人免费在线观看视频| 国产一区二区伦理| 丰满少妇乱子伦精品看片| 国产一区二区日韩| 99ri日韩精品视频| 国产情侣av自拍| 一区二区视频在线看| 久久久久久青草| aa日韩免费精品视频一| 欧美精品国产| 中文字幕伦理片|