qt學習筆記(四) qt程式設計時遇到的問題的總結

2021-06-26 22:27:36 字數 3845 閱讀 5995

分類: 程式語言

2011-11-27 17:27

3742人閱讀收藏

舉報

qt程式設計

class

object

1、設定qt widget全屏顯示

[cpp]view plain

copy

print?

int main(int argc, char *argv)    

int main(int argc, char *argv)

2、獲取螢幕解析度

[html]view plain

copy

print?

#include <

qdesktopwidget

>

#include <

>

void mainwindow::getscreeninfo()    

3、qgraphicsview新增背景:1

[html]view plain

copy

print?

view = new qgraphicsview;  

scene = new qgraphicsscene(0,0,800,480);  

qpixmap pixmap(":/gear.png");  

scene->addpixmap(pixmap);  

view->setscene(scene);  

view = new qgraphicsview;

scene = new qgraphicsscene(0,0,800,480);

qpixmap pixmap(":/gear.png");

scene->addpixmap(pixmap);

view->setscene(scene);

3、qgraphicsview新增背景:2

[cpp]view plain

copy

print?

view->setbackgroundbrush(qimage(":/gear.png"));  

view->setbackgroundbrush(qimage(":/gear.png"));
前提是將gear.png加入到資源中

4、設定無邊框(標題欄)的應用程式

[cpp]view plain

copy

print?

mainwindow w;  

w.setwindowopacity(1);  

w.setwindowflags(qt::framelesswindowhint);  

w.setattribute(qt::wa_translucentbackground);  

w.show();  

mainwindow w;

w.setwindowopacity(1);

w.setwindowflags(qt::framelesswindowhint);

w.setattribute(qt::wa_translucentbackground);

w.show();

5 、qgraphicspixmapitem,顯示item

[cpp]view plain

copy

print?

scene = new qgraphicsscene(0,0,800,480);  

qgraphicspixmapitem *pixmapitem = new qgraphicspixmapitem(qpixmap(":/gear.png"));  

pixmapitem->setflags(qgraphicsitem::itemismovable | qgraphicsitem::itemisselectable);  

scene->additem(pixmapitem);  

scene = new qgraphicsscene(0,0,800,480);

qgraphicspixmapitem *pixmapitem = new qgraphicspixmapitem(qpixmap(":/gear.png"));

pixmapitem->setflags(qgraphicsitem::itemismovable | qgraphicsitem::itemisselectable);

scene->additem(pixmapitem);

6 q_object 問題

[html]view plain

copy

print?

class nodeui : public qgraphicspixmapitem    

class nodeui : public qgraphicspixmapitem

編譯不通過

[cpp]view plain

copy

print?

class nodeui : public qgraphicspixmapitem ,public qobject    

class nodeui : public qgraphicspixmapitem ,public qobject

依然不通過

[cpp]view plain

copy

print?

class nodeui : public qobject,public qgraphicspixmapitem    

class nodeui : public qobject,public qgraphicspixmapitem

編譯通過!

7 ,編譯出錯:error: passing 'const qpointf' as 'this' argument of 'qpointf& qpointf::operator=(const qpointf&)' discards qualifiers

[cpp]view plain

copy

print?

nodeui *mainwindow::selectednodeui() const

else   

}  

nodeui *mainwindow::selectednodeui() const

else

}

修改為如下,問題解決;

[cpp]view plain

copy

print?

nodeui *mainwindow::selectednodeui()  

else   

}  

nodeui *mainwindow::selectednodeui()

else

}

8,qmap遍歷問題

qmap插入時的順序和最後得到的qmap遍歷順序可能是不通的,qmap所謂的有序是按照key內部自動公升序,在不同的電腦上,順序都可能不同。

對順序有要求時,不可以用qmap,qhash就更不用說了。

待續。。

qt學習筆記(四) qt程式設計時遇到的問題的總結

1 設定qt widget全屏顯示 int main int argc,char argv 2 獲取螢幕解析度 3 qgraphicsview新增背景 1 view new qgraphicsview scene new qgraphicsscene 0,0,800,480 qpixmap pixm...

Qt程式設計 Qt學習筆記《三》

1.如果程式中使用了png以外格式的,在發布程式時就要將qt安裝目錄下plugins中的imagineformats檔案複製到發布檔案中。2.在函式宣告處快速新增函式定義可單擊函式名,按下alt enter鍵後,按下enter鍵就可以進入到函式定義部分。3.關聯槽和訊號的兩種方法 1.直接在設計器中...

QT學習筆記之QT網路程式設計

tcp 傳輸控制協議,提供的是面向連線 可靠的位元組流服務。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立乙個tcp連線,之後才能傳輸資料。tcp提供超時重發,丟棄重複資料,檢驗資料,流量控制等功能,保證資料能從一端傳到另一端。udp 使用者資料報協議,是乙個簡單的面向資料報的運輸層協議。udp...