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