Qt學習筆記 程式設計技巧總結

2021-05-24 14:48:45 字數 2139 閱讀 3124

以命令列的形式改變視窗的現實風格

./*** -style cde/motif/plastique

根據標籤快捷鍵定位輸入框

qlabel *label = new qlabel(tr("&new"));

qlineedit *edit = new qlineedit();

label->setbubby(edit);

預設按鈕:當使用者按下enter的時候,能夠按下對應的按鈕

button->setdefault(true);

禁止按鈕:顯示為灰色,不和使用者互動

button->setenabled(false);

布局中占用其他的剩餘空間

layout->addstretch();

設定視窗的固定高度和寬度

dlg->setfixedheight(dlg->sizehint().height());

dlg->setfixedwidth(dlg->sizehint().width());

訊號與槽:

利用qt設計師生成視窗

生成檔案dlg.ui;

繼承ui::dlg.

自動連線訊號與槽

setupui函式會自動將符合on_objectname_signalname()命名慣例的任意槽

與相應的objectname的signalname()訊號連線到一起。上例中,建立了下面

的訊號-槽關係:

connect(lineedit, signal(textchanged(const qstring &)),

this, slot(on_lineedit_textchanged()));

刪除父物件時,它的子物件會被自動刪除

通過布局管理器來管理擴充套件對話方塊的視窗大小

layout()->setsizeconstraint(qlayout::setfixedsize);

設計乙個可擴充套件對話方塊的基本思路:

切換按鈕

訊號-槽連線

不可以改變尺寸大小的布局

多頁視窗部件有:qtabwidget, qtoolbox

專案檢視視窗部件(帶滾動條):qlistview, qtreeview, qtableview

使用資源管理機制的方法:

將放在images/目錄下;

在***.pro加入:resources = ***.qrc

增加資源檔案***.qrc, 內容形式如下:

源**中引用方式:setwindowicon(qicon(":/images/icon.png"));

或者 setwindowicon(qicon(":/title.png"));

建立選單欄、工具欄、狀態列

模態對話方塊與非模態對話方塊

模態對話方塊典型例子:開啟檔案對話方塊,警告對話方塊

非模態對話方塊典型例子:查詢對話方塊

模態對話方塊一般在堆中建立,非模態對話方塊一般在棧中建立

模態對話方塊使用exec()顯示,非模態對話方塊使用show()顯示

建立乙個啟動畫面

mainwindow的**視窗部件可以為:

讀寫平台無關的二進位制檔案

建立乙個自定義視窗部件的過程:

選擇乙個合適的視窗部件

對它子類化

實現虛函式,改變它的行為

構建乙個可以整合到qt設計師中的視窗部件

自動呼叫的情況:

主動呼叫的情況:

update();

repaint(); // 不常用

視窗屬性qt::wa_staticcontents

當重新改變視窗部件的大小時,視窗部件的內容並沒有發生改變,

而且內容仍舊保留從視窗左上角開始的特性。這樣就可以避免重繪

已經顯示的區域。

在設計師中整合自定義視窗部件的2種方法

鍵盤:qt::key_plus: 對數字小鍵盤起作用,對於大鍵盤,要同時按下shift

qt::key_enter: 對數字小鍵盤起作用

當定義乙個函式時,如果沒有用到其中的引數p,但又不想在編譯時產生警告:

在函式的開頭,使用巨集

q_unused(p);

在qgraphicsitem的paint函式中,如果不希望線的寬度縮放,則

painter->setpen(color); //不指定pen的寬度,或者指定為0.

qt 程式設計技巧

1 qt4一下 解決亂碼 qtextcodec setcodecfortr qtextcodec codecforlocale 2 狀態列顯示資料 ui statusbar showmessage tr 歡迎使用qcom串列埠除錯助手 3 qt學習參考 4 error no matching fun...

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

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

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

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