QWidget類詳細描述

2022-04-02 11:15:30 字數 1148 閱讀 4447

qwidget類是所有使用者介面物件的基類。

qwidget( qwidget * parent = 0, const char * name = 0, wflags f = 0 );

視窗部件是使用者介面的乙個原子:它從視窗系統接收滑鼠、鍵盤和其它事件,並且在螢幕上繪製自己的表現。每乙個視窗部件都是矩形,並且它們按z軸順序排列的。乙個視窗部件可以被它的父視窗部件或者它前面的視窗部件蓋住一部分。

qdialog是最普通的頂級視窗。不被嵌入到乙個父視窗部件的視窗部件被叫做頂級視窗部件。通常情況下,頂級視窗部件是有框架和標題欄的視窗(儘管如果使用了一定的視窗部件標記,建立頂級視窗部件時也可能沒有這些裝飾。)在qt中,qmainwindow和和不同的qdialog的子類是最普通的頂級視窗。

乙個沒有父視窗部件的視窗部件一直是頂級視窗部件。

非頂級視窗部件是子視窗部件。它們是它們的父視窗部件中的子視窗。你通常不能在視覺角度從它們的父視窗部件中辨別乙個子視窗部件。在qt中的絕大多數其它

視窗部件僅僅作為子視窗部件才是有用的。(當然把乙個按鈕作為或者叫做頂級視窗部件也是可能的,但絕大多數人喜歡把他們的按鈕放到其它按鈕當中,比如

qdialog。)

qwidget有很多成員函式,但是它們中的一些有少量的直接功能:例如,qwidget有乙個字型屬性,但是它自己從來不用。有很多繼承它的子類提供了實際的功能,比如qpushbutton、qlistbox和qtabdialog等等。

每乙個視窗部件建構函式接受兩個或三個標準引數:

qwidget *parent = 0是新視窗部件的父視窗部件。如果為0(預設),新的視窗部件將是乙個頂級視窗部件。如果不是,它將會使parent的乙個孩子,並且被parent的幾何形狀所強迫(除非你指定wtype_toplevel作為視窗部件標記)。

const char *name = 0是新視窗部件的視窗部件名稱。你可以使用name()來訪問它。視窗部件名稱很少被程式設計師用到,但是對於圖形使用者介面構造程式,比如qt設計器,是相當重要的(你可以在qt設計器中命名乙個視窗部件,並且在你的**中使用這個名字來連線它)。dumpobjecttree()除錯函式也使用它。

wflags f = 0(在可用的情況下)設定視窗部件標記,預設設定對於幾乎所有視窗部件都是適用的,但是,舉例來說,乙個沒有視窗系統框架的頂級視窗部件,你必須使用特定的標記。

詳細說明:

ArrayList詳細描述

arraylist和vector都是使用陣列方式儲存資料,此陣列元素數大於實際儲存的資料以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及陣列元素移動等記憶體操作,所以索引資料快而插入資料慢,vector由於使用了synchronized方法 執行緒安全 通常效能上較arrayli...

詳細描述C 索引器

簡單說來,所謂c 索引器就是一類特殊的屬性,通過它們你就可以像引用陣列一樣引用自己的類。宣告方法如下 與屬性相似 public type this int index set 用例子簡單說明 using system.collections static void main string args ...

詳細描述求最長公共子串行演算法

子串行與字串的區別 子串行不要求公共部分在原字串中連續,而字串要求連續。動態規劃求解 例子 bdcaba abcbdab 最長的公共子串行為 b c b a 和 b d a b 1 首先分析狀態轉移陣列dp i j 的含義 指的是 字串 s1 從 0到n 1 和 字串 s2 從 0到m 1 的最大公...