Qt常用類

Qt常用類

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);
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::CaseSensitive
替換操作:       將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::CaseSensitivity 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() const;
這個函數不僅去掉對象頭尾的空白字符,還能將中間的連續多個空白字符全部替換成一個空格:   QString simplified() const;
索引:   QString類也像普通的字符串一樣可以根據下標得到某個位置上的字符
const QChar operator[](int(或uint) position) const;//這樣對對象的取字符操作就類似於對一個字符數組的操作
統計:    以下兩個成員函數都可以得到QString對象中字符的個數
int size() const;       int length() const;     注意字符的個數並不一定等於字節數
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);//判斷是否不等
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類相似的操作符
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返回類型,然後在前面要加上set
void 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);//判斷是否相等
QFont:       代表字體,實現在QtGui庫中
構造:
QFont();//由應用程序的默認字體構造親字體對象
QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false);
//family:字體的名稱. pointSize:字體的點大小,如果這個參數小於等於0,則自動設爲12. weight:字體的粗細. italic:字體是否爲斜體
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::ImageConversionFlags 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:ImageConversionFlags 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;//判斷是否爲空圖像
QIcon:        代表圖標,實現在QtGui庫中,是一系列圖像的組合,每個圖像代表窗口在某種狀態下應該顯示的圖標
構造:
QIcon();//構造一個空圖像構成的圖標
QIcon(const QPixmap &pixmap);//從QPixmap對象構造圖標,此時系統會自動產生窗口不同狀態下對應的圖像,比如窗口在禁用狀態下其圖標爲灰色
QIcon(const QString &fileName);//從圖像文件構造圖標,此時,文件並不是立刻加載,而是當圖標要顯示時才加載
添加圖像:
void addFile(const &fileName, const QSize &size = QSize(), Mode mode = Normal, State state = Off);
//fileName:文件名  size:指定大小 mode:指定使用模式,即窗口在何種狀態下使用這個圖像 state:指定使用狀態
//Mode爲QIcon類的成員類型,有以下取值. QIcon::Normal:窗口爲使能狀態,但未激活 QIcon::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;
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);//鼠標滾輪移動
QDialog:         代表對話框,用來實現那些只是暫時存在的用戶界面,是獨立的窗口,但通常也有父窗口
對話框有模態和非模態兩種,,非模態對話框的行爲和使用方法都類似於普通的窗口,模態對話框則有所不同,當模態對話框顯示時,其他窗口將全部進入非激活狀態,不能接受鍵盤和鼠標事件,
模態的方式又可分爲兩種,一種是對整個應用程序模態,這時它的出現將導致程序中的所有窗口失去響應;另一種是對窗口模態,這時僅僅會導致它所在的整個窗口樹失去響應
構造:
QDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
模態性:
void setModal(bool modal);//設置對話框的模態性,當modal爲true時爲模態,默認對整個應用程序模態
void setWindowModality(Qt::WindowModality windowModality);//設爲對窗口模態.Qt::WindowModality有以下取值:  Qt::NonModal:非模態 Qt::WindowModal:窗口模態 Qt::ApplicationModal:應用程序模態
Qt::WindowModality windowModality() const;//得到窗口的模態性
bool isModal() const;//判斷窗口是否爲模態的
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);//設置是否允許圖像縮放,如果允許縮放,則顯示圖像時會進行縮放以填滿整個顯示區域
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對象
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屬性以及autoDefault屬性控制:
bool isDefault(0 const;//判斷按鈕是否爲默認按鈕
void setDefault(bool on);//設置按鈕是否爲默認按鈕
bool autoDefault() const;//判斷按鈕是否爲自動默認按鈕
void setAutoDefault(bool)//設置按鈕是否爲自動默認按鈕
對話框中同一時刻只能有一個默認按鈕,當用戶按回車鍵時,等價於在對話框中單擊這個按鈕.實際上,對話框中還有一個主默認按鈕的概念.
一個自動默認按鈕得到焦點時,就會變成默認按鈕;失去焦點時,主默認按鈕就成爲默認按鈕.
而設置一個按鈕的默認屬性爲true將同時使它成爲對話框的主默認按鈕
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::PartiallyChecked:部分選中 Qt::Checked:選中
部分選中的狀態經常用來表示一個選項樹中某個選項的子選項有的選中,有的未選的狀態.如果一個複選鈕不是三態的,則也可以用從QAbstractButton繼承來的checked屬性操作它的狀態
void stateChanged(int state);//當複選鈕的狀態發生變化時,將發射以下信號,其中state表示複選按鈕的新狀態
QRadioButton:    表示單選鈕,也繼承了QAbstractButton類
構造:  QRadioButton(const QString &text, QWidget *parent = 0);生成的單選鈕默認是排他的
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);//當編輯框內容發生變化時,會發射這個信號,text是變化後的內容
void textEdited(const QString &text);//當編輯框的內容被編輯時,會發射這個信號,它只在用戶進行修改的時候發射,在程序中用seftText修改則不發射,而後者則在兩種情況下都會發射
void returnPressed();//當在編輯框中按下回車鍵時,將發射這個信號,可以作爲用戶結束輸入的一種條件
void editingFinished();//在按下回車鍵或者編輯框失去焦點時發射
槽:
void clear();//清空內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章