日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt 常用类介绍

發布時間:2023/12/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt 常用类介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:暮云秋草 wmyan2010@163.com

1.QChar ?表示一個字符的類,包含于 QtCore

判斷:
bool isDigit() const;//判斷是否是十進制數字('0'-'9')
bool isLetter() const;//判斷是否是字母
bool isNumber() const;//判斷是否是數字,包括正負號,小數點等
bool isLetterOrNumber() const;//判斷力是否是字母或數字
bool isLower() const;判斷是否是小寫字母
bool isUpper() const;//判斷是否是大寫字母
bool isNull() const;//判斷是否是空字符'0'
bool isPrint() const;//判斷是否是可打印字符
bool isSpace() const;//判斷是否是分隔符,包括空格等
轉換:
char toAscii() const;//得到字符的 ASCII 碼
QChar toLower() const;//轉換成小寫字母
QChar toUpper() const;轉換成大寫字母
ushort unicode() const;//得到 Unicode 編碼
比較:
bool operator != (QChar c1, QChar c2);//判斷 c1 是否不等于 c2
bool operator < (QChar c1, QChar c2);// ? ......是否小于...
bool operator <= (QChar c1, QChar c2);
bool operator == (QChar c1, QChar c2);

bool operator > (QChar c1, QChar c2);

bool operator >= (QChar c1, QChar c2);

2. QString ? ? ? ? ? 表示字符串的類,包含于 QtCore
判斷: ?bool isEmpty() const; //判斷是否為空字符串
轉換: ?將字符串轉換成數值
double toDouble(bool *ok = 0) const;//ok 參數指向一個 bool 型變量,這個參數用于指
出轉換是否成功的信息. float toFloat(bool *ok = 0) const;
int toInt(bool *ok = 0, int base = 10) const;//base則有是轉換成整數類型時的基,十
進制就是 10,八進制就是 8
long toLong(bool *ok = 0, int base = 10) const;//長整型數
short toShort(bool *ok = 0, int base = 10) const;//短整型數
uint toUInt(bool *ok = 0, int base = 10) const;
ulong toULong(bool *ok = 0, int base = 10) const;
ushort otUShort(bool *ok = 0, int base = 10) const;
QString toLower() const;//轉換為小寫
QString toUpper() const;//轉換成大寫
比較:
int compare(const QString &s1, const QString &s2,
Qt::CaseSensitivity cs = Qt::CaseSensitive );//比較兩個字符串,
參數 cs 有兩個取值, Qt::CaseInsensitive 表示對大小寫不敏感 ?Qt::CaseSensitive 表示敏

返回值的含義:大于 0 表示 s1 大于 s2,等于 0 表示相等,小于 0 表示小于
查找:
bool contains(const QString &str(或 QChar ch),
Qt::CaseSensitivity cs = Qt::CaseSensitive) const;//判斷 QString 對象是否包含指定
的字符串或字符
int count(const QString &str(或 QChar ch),
Qt::CaseSensitivity ?cs ?= ?Qt::CaseSensitive) ?const;//得到包含某特定字符串或字符個

int indexOf(const QString &str(或 QChar ch), int from = 0,//from 是查找的起點
Qt::CaseSensitivity cs = Qt::CaseSensitive) const;//得到某個特定字符串或字符位置
字符串處理:
QString &operator = (const QString &other);//復制另外一個 QString 對象 other
QString &operator = (const char *str);//復制普通字符串
QString &operator = (char ch);//復制字符
QString &operator = (QChar ch);//復制 QChar 類對象以下函數可將另一個字符串或字符接在 QString 對象后面,形成一個整體的字符串:
QString &append(const QString &str);接續 QString 對象
QString &append(const char *str);//接續普通字符串
QString &append(QChar ch);//接續 QChar 對象
!!如果把 append 換成 prepend,則表示接在原字符串的前面
!!!!!用法:如: QString str; str.append("hello");就表示在 str 后面接上"hello"
在 QString 對象的任意位置插入另一個字符串或字符:
QString &insert(int position, const QString &str);插入字符串
QString &insert(int position, const QChar *pch, int size);//插入 QChar 數組
QString &insert(int position, QChar ch);//插入 QChar 對象
QString &remove(int position, int n);//移除 QString 對象中從位置 position 開始的 n
個字符
QString &remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive);//這個
和下面的句子都是移除指定的字符串或字符
QString &remove(const QString &str, ?Qt::CaseSensitivity cs = ?Qt::CaseSensitiv
e
替換操作: ? ? ? 將 QString 對象從 position 開始的 n 個字符替換為新內容
QString &replace(int position, int n, const QString &after);//替換 QString 對象
QString &replace(int position, int n, const QChar *pch, int size);//替換 QChar 數

QString &replace(int position, int n, QChar after);//替換 QChar 對象
如果形如:QString &replace(const ?QString &before, ?const ?QString ?&after, Qt::Cas
eSensitivity cs = Qt::CaseSensitive);則可以搜索指定的字符串或字符進行替換
清空一個 QString 對象的內容,使這成為空字符串: ?void clear();
截斷 QString 對象,也就是去年指定位置后的所有內容: ?void truncate(int position);
截掉 QString 對象最后的若干個字符: ? void chop(int n);//截掉最后的 n 個字符
以下函數可以得到 QString 對象的子字符串:
QString left(int n) const;//得到左邊 n 個字符構成的子字符串
QString right(int n) const;//得到右邊 n 個字符構成的子字符串QString mid(int position, ?int n ?= ?-1);//從中間得到子字符串,position 是子字符串的起
始位置,n 是字符的個數,如果 n 為-1,則表示一直到原字符串的結尾
注意上述三個函數并不修改 QString 對象自身,而是返回一個臨時對象以供使用
截去對象中頭部和尾部的空白字符(包括空格,回車,換行,制表符等): ?QString trimmed() ?co
nst;
這個函數不僅去掉對象頭尾的空白字符,還能將中間的連續多個空白字符全部替換成一個空格:
QString simplified() const;
索引: ? QString 類也像普通的字符串一樣可以根據下標得到某個位置上的字符
const QChar operator[](int(或 ?uint) position) const;//這樣對對象的取字符操作就類似
于對一個字符數組的操作
統計: ? ?以下兩個成員函數都可以得到 QString 對象中字符的個數
int size() const; ? ? ? int length() const; ? ? 注意字符的個數并不一定等于字節數
3. QPorint: ? ? ?代表一個坐標點,從屬于 QtCore 庫,可以認為是一個整型的橫坐標和一個整
型的縱坐標的組合
構造:
QPoint();//構造橫縱坐標均為 0 的 QPoint 對象
QPoint(int x, int y);//構造橫縱坐標分別為 x 和 y 的 QPoint 對象
屬性:?
通過下面兩個函數可以得到 QPoint 對象中的橫縱坐標的引用,這些引用都不是只讀的,也就是說
可以通過它們直接修改 QPoint 對象的橫縱坐標
int &rx();//得到橫坐標的引用
int &ry();//等到縱坐標的引用
設置 QPoint 對象中的橫縱坐標:
void setX(int x);//設置橫坐標為 x
void setY(int y);//設置縱坐標為 y
下面兩個函數則是只讀的,可以獲得 QPoint 對象中的橫縱坐標:
int x() const;//獲得橫坐標
int y() const;//獲得縱坐標
操作符: ? 支持加法和減法的復合賦值操作
QPoint &operator += (const QPoint &point);//加賦值QPoint &operator -= (const QPoint &point);//減賦值
const QPoint operator + (const QPoint &p1, const QPoint &p2);//加法
const QPoint operator - (const QPoint &p1, const QPoint &p2);//減法
const QPoint operator - (const QPoint &point);//取負數
bool operator == (const QPoint &p1, const QPoint &p2);//判斷是否相等
bool operator != (const QPoint &p1, const QPoint &p2);//判斷是否不等
4. QSize: ?代表一個矩形區域的大小,從屬于 ?QtCore 庫,可以認為是由一個整型的寬
度和整型的高度組合而成的
構造:
QSize();//構造一個非法的 QSize 對象
QSize(int width, int height);//構造寬度為 width,高度為 height 的 QSize 對象
屬性:
int &rwidth();//得到寬度的引用,這兩個引用可直接修改對象的寬度和高度
int &rheight();//得到高度的引用
void setWidth(int width);//設置寬度
void setHeight(int height);//設置高度
int width() const;//獲得寬度,這兩個都不能修改
int height() const;//獲得高度
操作符: ? ? ? ?支持和 QPoint 類相似的操作符
5. QRect ? ? ? 代表一個矩形區域,實現在 QtCore 庫,是一個 QPoint 對象和一個 QSize 對象
的組合,QPoint 對象是它的左上角的坐標,QSize 對象則是它的大小
構造:
無參數的構造函數 QRect()將構造一個高度和寬度都為 0 的矩形區域,
QRect(const QPoint &topLeft, const QSize &size);//構造一個左上角坐標為 ?topLeft,
大小為 size 的矩形區域,
QRect(int x, int y, int width, int height);等價于:QRect(QPoint(x, y), ?QSize(width,
height));//構造一個左上角橫縱坐標分別為 x 和 y,寬度為 width,高度為 height 的矩形
屬性:
獲取屬性:int left/top/x/y/width/height/topLeft/size() const;
設置屬性:void 返回類型,然后在前面要加上 setvoid setRect(int x, int y, int width, int height);//改變矩形區域的所有屬性
void moveLeft(int x);//左上角橫坐標移動到 x
void moveTop(int y);//左上角縱坐標移動到 y
void moveTopLeft(const QPoint &position);左上角坐標移動到 position
void moveTo(int x, int y);//左上角坐標移動到(x,y)
void moveTo(const QPoint &position);//左上角坐標移動到 position
操作符:
按位與操作符可以求兩個 QRect 對象的相交區域:
QRect operator & (const QRect &rectangle) const;//求相交區域
QRect &operator &= (const QRect &rectangle);//求相交區域后賦值
按位或操作符可以得到能夠同時包含兩個 QRect 對象的最小矩形區域;
QRect operator | (const QRect &rectangle) const;//求合并區域
QRect &operator |= (const QRect &rectangle);//求合并區域后賦值
判斷相等與否:
bool operator != (const QRect &r1, const QRect &r2);//判斷是否不等
bool operator == (const QRect 7r1, const QRect &r2);//判斷是否相等
6. QFont: ? ? ? 代表字體,實現在 QtGui 庫中
構造:
QFont();//由應用程序的默認字體構造親字體對象
QFont(const QString &family, int pointSize = ?-1, int weight = -1, bool italic =?
false);
//family:字體的名稱. pointSize:字體的點大小,如果這個參數小于等于 0,則自動設為 12. we
ight:字體的粗細. italic:字體是否為斜體
7. QPixmap: ? 代表圖像,實現在 QtGui 庫中
構造:
QPixmap();//構造大小為 0 的空圖像
QPixmap(const QSize &size);//構造大小為 size 的圖像,圖像數據未初始化
QPixmap(int width, int height);//等價于 QPixmap(QSize(width, height));
QPixmap(const ?QString &fileName, ?const ?char *format = ?0, ?Qt::ImageConversi
onFlags flags = Qt::AutoColor);//從指定的文件中加載圖像并生成 QPixmap 對象//fileName:文件名.. format:字符串,表示圖像文件的格式,如果為 0,將進行自動識別..flags:
表示顏色的轉換模式
圖像參數:
int depth() const;//顏色深度,即每像素所占的 byte(比特)數
int width() const;//圖像寬度,單位是像素
int height() const;//圖像高度,單機是像素
QSize size() const;//圖像的大小,即 QSize(width(), height());
QRect rect() const;//圖像的矩形區域,即 QRect(QPoint(0,0), size());
加載和保存圖像:
bool load(const QString &fileName, const ?char *format = 0, ?QT:ImageConversi
onFlags flags = Qt::AutoColor);
//從文件中加載圖像,返回 true 表示加載成功,false 則表示加載失敗
bool ?save(const ?QString ?&fileName, ?const ?char ?*format ?= 0, int ?quality = ?-1)?
const;
//將圖像保存到文件, ?fileName:文件名. format:字符串,表示圖像文件的格式,如果為 0,自動
確定. ?quality:表示圖像保存的質量,質量越低壓縮率越大,越不清晰,取值范圍為 0~100,-1 表
示采用默認值.
判斷: ? ? ? ? bool isNull() const;//判斷是否為空圖像
8. ?QIcon: ? ? ? ?代表圖標,實現在 ?QtGui 庫中,是一系列圖像的組合,每個圖像代表窗口在某
種狀態下應該顯示的圖標
構造:
QIcon();//構造一個空圖像構成的圖標
QIcon(const QPixmap &pixmap);//從 QPixmap 對象構造圖標,此時系統會自動產生窗口
不同狀態下對應的圖像,比如窗口在禁用狀態下其圖標為灰色
QIcon(const QString &fileName);//從圖像文件構造圖標,此時,文件并不是立刻加載,而是
當圖標要顯示時才加載
添加圖像:
void addFile(const &fileName, const QSize &size = QSize(), Mode mode = Nor
mal, State state = Off);//fileName:文件名 ? size:指定大小 ? mode:指定使用模式,即窗口在何種狀態下使用這個圖
像 ? state:指定使用狀態
//Mode 為 QIcon 類的成員類型,有以下取值. QIcon::Normal:窗口為使能狀態,但未激活 ?QI
con::Disabled:窗口為禁用狀態 ?QIcon::Active:窗口為激活狀態 ?QIcon::Selected:窗口被
選中
//QIcon::Off:窗口在關狀態 ? QIcon::On:窗口在開狀態
void addPixmap(const ?QPixmap &pixmap, ?Mode ?mode = ?Normal, State state =
Off);//直接將 QPixmap 對象添加到 QIcon 對象中,pixmap 是要添加的 QPixmap 對象
獲取圖像:
QPixmap pixmap(const QSize &size, ?Mode ?mode = ?Normal, State state = ?Off)?
const;等價于 pixmap(QSize(w,h), mode, state);//size 是指定的大小, modet state 則
是使用模式和狀態
判斷是否為空圖像構成的圖標: ?bool isNull() const;
9.QWidget: ? 代表一般的窗口,實現在 QtGui 庫中
構造:
QWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);
//parent 指向父窗口,如果這個參數為 0,則窗口就成為一個頂級窗口
//WindowFlags 包括:
Qt::FrameWindowHint:沒有邊框的窗口
Qt::WindowStaysOnTopHint://總在最上面的窗口
Qt::CustomizeWindowHint://自定義窗口標題欄,以下標志必須與這個標志一起使用才有效,
否則窗口將有默認的標題欄
Qt::WindowTitleHint:顯示窗口標題欄
Qt::WindowSystemMenuHint://顯示系統菜單
Qt::WindowMinimizeButtonHint://顯示最小化按鈕
Qt::WindowMaximizeButtonHint://顯示最大化按鈕
Qt::WindowMinMaxButtonsHint://顯示最小化按鈕和最大化按鈕
Qt::WindowCloseButtonHint://顯示關閉按鈕
獨立窗口: ? ? 窗口構造的時候如果有 Qt::Window 標志,那么它就是一個獨立窗口,否則就是一
個依附于其他獨立窗口的窗口部件.獨立窗口一般有自己的外邊框和標題欄,可以有移動,改變大小等操作
頂級窗口一定是獨立窗口,但獨立窗口不一定是頂級的,它可以有父窗口,當父窗口被析構時它也
會隨之被析構
bool isWindow() const;//判斷是否為獨立窗口
QWidget ?*window() ?const;//得到所在的獨立窗口,當然,如果窗口本身就是獨立窗口,那么
得到的就是自己
QWidget *parentWidget() const;//得到窗口的父窗口
窗口標題:
QString windowTitle() const;//獲得窗口標題
void setWindowTitle(const QString &text);//設置窗口標題
幾何參數: ? 指的是窗口的大小和位置,一個窗口有兩套幾何參數,一套是窗口外邊框所占的矩形
區域,另一套是窗口客戶區所占的矩形區域,所謂窗口客戶區就是窗口中除去邊框和標題欄用來
顯示內容的區域
對于一個窗口部件來說,它的兩套幾何參數是一致的
const QRect &geometry() const;//獲取客戶區幾何參數
void setGeometry(int x, int y, int w, int h);//設置客戶區幾何參數
void setGeometry(const QRect &rect);//設置客戶區幾何參數
QRect framGeometry() const;//獲取外邊框幾何參數
QSize frameSize() const;//獲得外邊框的窗口大小
void move(int x, int y);//將窗口左上角移動到期坐標(x,y)處 ?(外邊框幾何參數)
void move(const QPoint &pos0;//將窗口左上角移動到 pos 處 ?(外邊框幾何參數)
void resize(int w, int h);//將窗口的寬度改為 w,高度改為 h (客戶區幾何參數)
void resize(const QSize &size);//將窗口的大小改為 size (客戶區幾何參數)
QRect ?rect() ?const;//獲取窗口客戶區域,它獲得的坐標都是相對于窗口自己的客戶區的,也
就是說橫縱坐標永遠是 0
可見性與隱藏: ? ?可見指是否顯示在屏幕上的屬性,被其他窗口暫時遮擋的窗口也屬于可見的
bool isVisible() const;//多年窗口是否可見
bool isHidden() const;//判斷窗口是否隱藏
virtual void setVisible(bool visible);//設置窗口是否隱藏
void setHidden(bool hidden);//等價于 setVisible(hidden)void show();//顯示窗口,等價于 setVisible(true);?
void hide();//隱藏窗口,等價于 setHidden(true);
窗口狀態:
bool isMinimized() const;//判斷窗口是否為最小化
bool isMaximized() const;//判斷窗口是否為最大化
bool isFullScreen() const;//判斷窗口是否全屏
void showMinimized();//以最小化方式顯示窗口,這是一個槽
void showMaximized();//以最大化方式顯示窗口,這是一個槽
void showFullScreen();//以全屏方式顯示窗口,這是一個槽
void showNormal();//以正常方式顯示窗口,這是一個槽
Qt::WindowStates windowState() const;//獲取窗口狀態
void setWindowState(Qt::WindowStates windowState);//設置窗口狀態
這里的 Qt::WindowStates 有以下幾個取值: ?這些取值可以用"按位或"的方法組合起來使用
Qt::WindowNoState:無標志,正常狀態
Qt::WinowMinimized:最小化狀態
Qt::WindowMaximized:最大化狀態
Qt::WindowFullScreen://全屏狀態
Qt::WindowActive:激活狀態
使能: ? 處于使能狀態的窗口才能處理鍵盤和鼠標等輸入事件,反之,處于禁用狀態的窗口不能處
理這些事件,是否處于使能狀態由屬性 enabled 表示
bool isEnabled() const;//獲得窗口的使能狀態
void setEnabled(bool enable);//設置窗口的使能狀態,這是一個槽
void setDisabled(bool disable);//等價于 setEnabled(!disable),這是一個槽
激活狀態: ? 當有多個獨立窗口同時存在時,只有一個處于激活狀態
bool isActiveWindow() const;//判斷窗口所在的獨立窗口是否激活
void activateWindow()//設置窗口所在的獨立窗口為激活狀態
焦點: ? ? ? ? 用來控制同一個獨立窗口內哪一個部件可以接受鍵盤事件,同一時刻只能有一個部
件獲得焦點
bool hasFocus() const;//判斷窗口是否獲得焦點
void setFocus();//使窗口獲得焦點,這是一個槽void clearFocus(0;//使窗口失去焦點
QWidget *focusWidget() const;//得到窗口內獲得焦點的子窗口
事件:
virtual void closeEvent(QCloseEvent *event);//關閉事件
virtual void showEvent(QShowEvent *event);顯示
virtual void hideEvent(QHideEvent *event);//隱藏
virtual void moveEvent(QMoveEvent *event);//移動
virtual void resizeEvent(QResizeEvent *event);//改變大小
virtual void keyPressEvent(QKeyEvent *event);//鍵盤鍵按下
virtual void keyReleaseEvent(QKeyEvent *event);鍵盤鍵松開
virtual void mousePressEvent(QMouseEvent *event);//鼠標鍵按下
virtual void mouseReleaseEvent(QMouseEvent *event);//鼠標鍵松開
virtual void mouseDoubleClickEvent(QMouseEvent *event);//鼠標鍵雙擊
virtual void mouseMoveEvent(QMouseEvent *event);//鼠標移動
virtual void enterEvent(QEvent *event);//鼠標進入窗口
virtual void leaveEvent(QEvent *event);//鼠標離開窗口
virtual void wheelEvent(QWheelEvent *event);//鼠標滾輪移動
10. ?QDialog: ? ? ? ? ?代表對話框,用來實現那些只是暫時存在的用戶界面,是獨立的窗口,但
通常也有父窗口
對話框有模態和非模態兩種,,非模態對話框的行為和使用方法都類似于普通的窗口,模態對話框
則有所不同,當模態對話框顯示時,其他窗口將全部進入非激活狀態,不能接受鍵盤和鼠標事件,
模態的方式又可分為兩種,一種是對整個應用程序模態,這時它的出現將導致程序中的所有窗口
失去響應;另一種是對窗口模態,這時僅僅會導致它所在的整個窗口樹失去響應
構造:
QDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
模態性:
void setModal(bool modal);//設置對話框的模態性,當 modal 為 true 時為模態,默認對整個
應用程序模態void setWindowModality(Qt::WindowModality windowModality);//設為對窗口模態.Q
t::WindowModality 有以下取值: ?Qt::NonModal:非模態 ?Qt::WindowModal:窗口模態
Qt::ApplicationModal:應用程序模態
Qt::WindowModality windowModality() const;//得到窗口的模態性
bool isModal() const;//判斷窗口是否為模態的
11. QLabel: ?代表標簽,是一個用于顯示文本或圖像的窗口部件
構造:
QLabel(QWidget *parent = 0, Qt::WindowFlags f = 0);
QLabel(const ?QString &text, QWidget *parent = 0, Qt::WindowFlags f = 0);//
能夠同時通過參數 text 給出要顯示的文本,因此是最常用的構造方式
屬性:
QString text() const;//獲取顯示的文本
void setText(const QString &text);//設置顯示的文本,這是一個槽
const QPixmap *pixmap() const;//獲取顯示的圖像
void setPixmap(const QPixmap &pixmap);//設置顯示的圖像,這是一個槽
void setNum(int num);//設置顯示的文本為代表整數 num 的字符串,這是一個槽
void setNum(double num);//設置顯示的文本為代表浮點數 num 的字符串
void clear;//清空顯示內容
alignment 代表顯示內容的對齊方式:
Qt::Alignment alignment() const;//獲取對齊方式
void setAlignment(Qt::Alignment align);//設置對齊方式
Qt::Alignment 有以下取值: ?Qt::AlignLeft:水平方向靠左 ?Qt::AlignRight:水平方向靠右
Qt::AlignHCenter:水平方向居中 ?Qt::AlignJustify:水平方向調整間距兩端對齊
Qt::AlignTop:垂直方向靠上 ?Qt::AlignBottom:垂直方向靠下 ?Qt::AlignVCenter:垂直方
向居中 ?Qt::AlignCenter:等價于 ?Qt::AlignHcenter | Qt::AlignVCenter,即水平和垂直方
向都居中
indent 代表文本的縮進值:
int indent() const://獲取文本縮進值
void setIndent(int indent);//設置文本縮進值
margin 代表顯示內容的邊距:int margin() const;//獲取邊距
void setMargin(int margin);//設置邊距
wordWrap 代表顯示的文本是否允許換行:
bool wordWrap() const;//判斷是否允許換行
void setWordWrap(bool on);//設置是否允許行換行
scaledContents 表示顯示圖像時是否允許縮放:
bool hasScaledContents() const;//判斷是否允許圖像縮放
void ?setScaledContents(bool ?on);//設置是否允許圖像縮放,如果允許縮放,則顯示圖像時
會進行縮放以填滿整個顯示區域
12. QAbstractButton: ? 是 QPushButton, QCheckBox,QRadioButton 等類的基類,它
可以代表按鈕,單選鈕,復選鈕等重要窗口部件,通常不會直接使用這個類
bool isCheckable() const;//判斷是否支持開關狀態
void setCheckable(bool on);//設置是否支持開關狀態
bool isChecked() const;//判斷是否打開
void setChecked(bool on);//設置是否打開,這是一個槽
bool autoExclusive() const;//判斷是否排他
void setAutoExclusive(bool on);//設置是否排他
bool isDown() const;//判斷是否被按下
void ?setDown(bool ?on);//設置是否被按下,設置這個屬性僅僅是改變按鈕外觀,不會發射任
何信號
QIcon icon() const;//獲得圖標
void setIcon(const QIcon &icon);//設置圖標
QString text() const;//獲得文本
void setText(const QString &text);//設置文本
QKeySequence shortcut() const;//獲得快捷鍵
void setShortcut(const QKeySequence &key);//設置快捷鍵
設置快捷鍵所需的 QKeySequence 對象可用如下方式構造:QKeySequence("Ctrl+p");表示
Ctrl+p 組合鍵的 QKeySequence 對象
13. ?QPushButton: ? ? 代表按鈕,它繼承了 ?QAbstractButton,因此也有其全部的屬性,信
號和槽構造:
QPushButton(QWidget *parent = 0);
QPushButton(const QString &text, QWidget *parent = 0);
QPushButton(const ?QIcon ?&icon, ?const ?QString &text, ?QWidget *parent ?= 0);//
text 是按鈕上顯示的文本,icon 是按鈕的圖標,生成的對象默認是沒有開關狀態的
屬性:
bool isFlat() const;//判斷外觀是否為扁平狀
void setFlat(bool flat);//設置外觀是否為扁平狀
如果為 true,則按鈕是扁平的,否則就是立體的
如果一個按鈕在對話框中,那么它就有默認和自動默認的概念,分別由 default 屬性以及 autoDe
fault 屬性控制:
bool isDefault(0 const;//判斷按鈕是否為默認按鈕
void setDefault(bool on);//設置按鈕是否為默認按鈕
bool autoDefault() const;//判斷按鈕是否為自動默認按鈕
void setAutoDefault(bool)//設置按鈕是否為自動默認按鈕
對話框中同一時刻只能有一個默認按鈕,當用戶按回車鍵時,等價于在對話框中單擊這個按鈕.實
際上,對話框中還有一個主默認按鈕的概念.
一個自動默認按鈕得到焦點時,就會變成默認按鈕;失去焦點時,主默認按鈕就成為默認按鈕.
而設置一個按鈕的默認屬性為 true 將同時使它成為對話框的主默認按鈕
14. QCheckBox: ? ? ? ?代表復選按鈕,也是繼承 QAbstractButton 類
構造:
QCheckBox(QWidget *parent = 0);
QCheckBox(const QString 7text, QWidget *parent = 0)//text 表示要顯示的文本,生
成的復選按鈕默認是不排他的
屬性:
bool isTristate() const;//判斷是否是三態的
void setTristate(bool y = true);//設置是否為三態的
三態的復選鈕不只有打開和關閉兩種狀態,其狀態由 checkState 屬性來代表:
Qt::CheckState checkState() const;//獲得狀態
void setCheckState(Qt::CheckState state);//設置狀態Qt::CheckState 是一個枚舉類型,它的取值: Qt::Unchecked:未選中 ?Qt::PartiallyChecke
d:部分選中 ?Qt::Checked:選中
部分選中的狀態經常用來表示一個選項樹中某個選項的子選項有的選中,有的未選的狀態.如果
一個復選鈕不是三態的,則也可以用從 QAbstractButton 繼承來的 checked 屬性操作它的狀態
void stateChanged(int state);//當復選鈕的狀態發生變化時,將發射以下信號,其中 ?state
表示復選按鈕的新狀態
15. QRadioButton: ? ?表示單選鈕,也繼承了 QAbstractButton 類
構造: ?QRadioButton(const QString &text, ?QWidget *parent = 0);生成的單選鈕默
認是排他的
16. QLineEdit: ? ? 表示編輯框,它可以讓用戶輸入一個單行文本
構造:
QLineEdit(QWidget *parent = 0);
QLineEdit(const ?QString &contents, QWidget *parent = 0);//contents 表示編輯框
的內容
屬性:
Qt::Alignment alignment() const;//獲取對齊方式
void setAlignment(Qt::Alignment flag);//設置對齊方式,Qt::Alignment 與 QLabel 類的
alignment 屬性相同
int maxLength() const;//判斷是否為只讀的
void setMaxLength(int len);//設置最大輸入長度
bool isReadOnly() const;//判斷是否為只讀的
void setReadOnly(bool on);//設置是否為只讀的
QString text() const;//獲取編輯框的內容
void setText(const QString &text);//設置編輯框的內容,這是一個槽
QString ?displayText() ?const;//臨到顯示的內容,因為比如一個密碼輸入框,輸入的密碼不顯
示,得使用這個函數獲得
bool hasFrame() const;//判斷有沒有邊框
void setFrame(bool on);//設置有沒有邊框
void setTextMargins(int left, int top, int right, int bottom);//設置邊距
void getTextMargins(int *left, int *top, int *right, int *bottom) const;//獲取邊距這兩個函數分別用于設置和獲取文本顯示的邊距,上,下,左,右 4 個邊距可以獨立進行設置
信號:
void textChanged(const QString ?&text);//當編輯框內容發生變化時,會發射這個信號,te
xt 是變化后的內容
void textEdited(const QString &text);//當編輯框的內容被編輯時,會發射這個信號,它只
在用戶進行修改的時候發射,在程序中用 seftText 修改則不發射,而后者則在兩種情況下都會發

void ?returnPressed();//當在編輯框中按下回車鍵時,將發射這個信號,可以作為用戶結束輸
入的一種條件
void editingFinished();//在按下回車鍵或者編輯框失去焦點時發射
槽:
void clear();//清空內容

?

?

總結

以上是生活随笔為你收集整理的Qt 常用类介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。