認識QT幾個部件 學習基礎
認識QT幾個部件 學習基礎是本文要介紹的內容,不多說,我們先來卡內容,詳細的為我們講解。
1、QLabel(頭文件qlabel.h)
QLabel部件是一個簡單的窗口,能夠顯示一個字符串。QLabel類有三個被定義的構造函數,如下所示
- QLabel(QWidget *parent,const char *name=0,WFlags f=0)
- QLabel(const QString &text,QWidget *parent,const char *name=0,WFlags f=0)
- QLabel(QWidget *buddy,const QString &text,QWidget *parent,const char *name=0,WFlags f=0)
例如我們經常見到的QLabel *label=new QLabel("Hello",0);用到的就是第二個構造函數,意思是創建一個QLabel部件,并顯示Hello,而且父部件為0,也就是它被當作頂層的窗口。
如果我們要修改label所顯示的文字,我們可以用label->setText("Hello QT!");這樣字符串“Hello”就被改成了“Hello QT”了,如果你想清除字符串的話,可以用label->setText("");這樣它就什么也不顯示了。
QLabel默認的動作時是以垂直方向中心對齊的方式顯示字符串,以左邊為基準。如果要改變它的對稱方式,可以用label->setAlignment(AlignVCenter|AlignHCenter)調用setAlignment()函數使得文本在水平和垂直方向上都位于中心位置。
QLabel還可以調用setGeometry()函數來改變標簽部件在QApplication窗口中的位置、高度和寬度。其中setGeometry()的原型是setGeometry(int x,int y,int w,int h) ,x,y是QLabel部件在QApplication的坐標,w和h是寬度和高度
2、QPushButton(頭文件qpushbutton.h)
QPushButton定義了一個按鈕。它的構造函數在QT中有以下的定義:
- QPushButton(QWidget *parent,const char *name=0)
- QPushButton(const QString &text,QWidget *parent,const char *name=0)
- QPushButton(const QIconSet &icon,const QString &text,QWidget *parent,const char *name=0)
例如QPushButton *button=new QPushButton("EXIT",this);用的就是第二個構造函數,意思是創建一個按鈕,上面顯示“EXIT”,它的父部件是當前的部件。
按鈕可以顯示文本標簽(Text)或者像素映射(Pixmap),并且和一個可選的小圖標(IconSet)。這些可以通過使用構造函數來設置并且在這之后用setText(),setPixmap()和setIconSet()來改變。
改變按鈕大小可以用resize(int w,int h)函數,如button->resize(70,30);
3、SIGNAL和SLOT機制
signal和slot叫信號與槽的機制,它們經常被用到,比如點擊一個按鈕,然后顯示文本hello,用的就是這種機制。點擊一個按鈕后,按鈕發出一個clicked()信號,然后通過槽傳給文本,文本調用函數顯示hello。但是,具體的還要QPushButton類有定義signal的相關函數和文本有定義slots的函數才能實現。
比如
- QApplication app(argc,argv);
- QPushButton *button=new QPushButton("Quit",0);
- QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
之所以能這樣定義是因為QApplication類有
- public slots:
void quit()的定義。所以,如果自己要寫一個相似的操作,可以自己定義一個類,然后里面包含public slots函數的定義。就可以實現很多好玩的功能了……
小結:關于認識QT幾個部件 學習基礎的內容介紹完了,希望本文對你有所幫助。更多相關內容請參考編輯推薦。