QAction類參備考資料(中文)_第1頁
QAction類參備考資料(中文)_第2頁
QAction類參備考資料(中文)_第3頁
QAction類參備考資料(中文)_第4頁
QAction類參備考資料(中文)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

QAction類參考QAction類提供了一個可以同時出現(xiàn)在菜單和工具條上的抽象用戶界面操作。詳情請見……#include<qaction.h>InheritsQObject。InheritedbyQActionGroup。所有成員函數(shù)的列表。公有成員QAction(QObject*parent,constchar*name=0,booltoggle=FALSE)QAction(constQString&text,constQIconSet&icon,constQString&menuText,QKeySequenceaccel,QObject*parent,constchar*name=0,booltoggle=FALSE)QAction(constQString&text,constQString&menuText,QKeySequenceaccel,QObject*parent,constchar*name=0,booltoggle=FALSE)~QAction()virtualvoidsetIconSet(constQIconSet&)QIconSeticonSet()constvirtualvoidsetText(constQString&)QStringtext()constvirtualvoidsetMenuText(constQString&)QStringmenuText()constvirtualvoidsetToolTip(constQString&)QStringtoolTip()constvirtualvoidsetStatusTip(constQString&)QStringstatusTip()constvirtualvoidsetWhatsThis(constQString&)QStringwhatsThis()constvirtualvoidsetAccel(constQKeySequence&key)QKeySequenceaccel()constvirtualvoidsetToggleAction(bool)boolisToggleAction()constboolisOn()constboolisEnabled()constvirtualbooladdTo(QWidget*w)virtualboolremoveFrom(QWidget*w)公有槽voidtoggle()virtualvoidsetOn(bool)virtualvoidsetEnabled(bool)信號voidactivated()voidtoggled(bool)屬性QKeySequenceaccel-操作快捷鍵boolenabled-操作是否生效QIconSeticonSet-操作的圖標QStringmenuText-操作的菜單文本boolon-切換操作是否打開QStringstatusTip-操作的狀態(tài)提示QStringtext-操作的描述文本booltoggleAction-操作是否是切換操作QStringtoolTip-操作的工具提示QStringwhatsThis-操作的“這是什么?”幫助文本保護成員virtualvoidaddedTo(QWidget*actionWidget,QWidget*container)virtualvoidaddedTo(intindex,QPopupMenu*menu)詳細描述QAction類提供了一個可以同時出現(xiàn)在菜單和工具條上的抽象用戶界面操作。在圖形用戶界面應(yīng)用程序中很多命令可以通過菜單選項、工具條按鈕和鍵盤快捷鍵調(diào)用。因為同一個操作將會被執(zhí)行,而與它的調(diào)用方法無關(guān),并且因為菜單和工具條必須保持同步,所以提供一個操作這樣的命令很有用。一個操作可以被添加到菜單和工具條中并且將會自動使它們同步。例如,如果用戶按下“加粗”工具條按鈕,“加粗”菜單項將會自動被選中。QAction可以包含圖標、菜單文本、快捷鍵、狀態(tài)條文本、這是什么文本和工具提示。它們可以分別通過setIconSet()、setText()、setMenuText()、setToolTip()、setStatusTip()、setWhatsThis()和setAccel()來設(shè)置。操作可以是一個切換操作,例如,一個“加粗”工具條按鈕,或者一個命令操作,例如“打開文件”來調(diào)用打開文件對話框。當(dāng)切換操作的狀態(tài)改變了,它發(fā)射toggled()信號。當(dāng)命令操作和切換按鈕被調(diào)用時,它們都發(fā)射activated()信號。使用setToggleAction()來設(shè)置操作的切換狀態(tài)。如果要看操作是否是切換操作,請使用isToggleAction()。切換操作可以是“開”,isOn()返回真,或者“關(guān)”,isOn()返回假。操作可以使用addTo()被添加到窗口部件(菜單或者工具條)中,并且使用removeFrom()來移除。一旦QAction已經(jīng)被創(chuàng)建,它應(yīng)該被添加到相應(yīng)的菜單或者工具條重并且然后連接到執(zhí)行這個操作的槽。例如:fileSaveAction=newQAction("SaveFile",QPixmap(filesave),"&Save",CTRL+Key_S,this,"save");connect(fileSaveAction,SIGNAL(activated()),this,SLOT(save()));我們創(chuàng)建一個菜單文本為“保存(&S)”并且Ctrl+S為鍵盤快捷鍵的“文件保存”操作。我們連接fileSaveAction的activated()信號到我自己的save()槽。注意在這時還沒有菜單或者工具條操作,接下來我們將添加它們:QToolBar*fileTools=newQToolBar(this,"fileoperations");fileSaveAction->addTo(fileTools);QPopupMenu*file=newQPopupMenu(this);menuBar()->insertItem("&File",file);fileSaveAction->addTo(file);我們創(chuàng)建了一個工具條并把我們的fileSaveAction添加進去。類似的,我們創(chuàng)建一個菜單,添加一個頂級菜單項并且把我們的fileSaveAction添加進去。(對于一個更詳細的實例請參考有QAction特征的簡單應(yīng)用程序排演。)我們建議把操作為它所在的窗口的子對象來創(chuàng)建。在絕大多數(shù)情況下操作是應(yīng)用程序主窗口的子對象。為了防止循環(huán),不要在一個稍后要添加操作的窗口部件的子對象中創(chuàng)建操作。也可以參考主窗口和相關(guān)類和基本窗口部件。成員函數(shù)文檔QAction::QAction(QObject*parent,constchar*name=0,booltoggle=FALSE)構(gòu)造一個父對象為parent并且名稱為name的操作。如果toggle為真,操作將是切換操作,否則它就是命令操作。如果parent是QActionGroup,新的操作會把自己插入到parent中。為了使快捷鍵和狀態(tài)提示能夠工作,parent必須是一個窗口部件或者一個父對象為窗口部件的操作組。QAction::QAction(constQString&text,constQIconSet&icon,constQString&menuText,QKeySequenceaccel,QObject*parent,constchar*name=0,booltoggle=FALSE)構(gòu)造一個有如下屬性的操作:描述為text、圖標為icon、菜單文本為menuText并且鍵盤快捷鍵為accel。它是parent的子對象并且名稱為name。如果toggle為真,操作將是切換操作,否則它就是命令操作。如果parent是QActionGroup,新的操作會把自己插入到parent中。為了使快捷鍵和狀態(tài)提示能夠工作,parent必須是一個窗口部件或者一個父對象為窗口部件的操作組。text和accel將會用于工具提示和狀態(tài)提示,除非你使用setToolTip()和setStatusTip()為它們提供特定文本。QAction::QAction(constQString&text,constQString&menuText,QKeySequenceaccel,QObject*parent,constchar*name=0,booltoggle=FALSE)這個構(gòu)造函數(shù)的結(jié)果是沒有圖標的操作:描述為text、菜單文本為menuText并且鍵盤快捷鍵為accel。它是parent的子對象并且名稱為name。如果toggle為真,操作將是切換操作,否則它就是命令操作。如果parent是QActionGroup,新的操作會把自己插入到parent中。為了使快捷鍵和狀態(tài)提示能夠工作,parent必須是一個窗口部件或者一個父對象為窗口部件的操作組。text和accel將會用于工具提示和狀態(tài)提示,除非你使用setToolTip()和setStatusTip()為它們提供特定文本。QAction::~QAction()銷毀這個對象并且釋放已經(jīng)分配的資源。QKeySequenceQAction::accel()const返回操作的快捷鍵。詳細情況請參考“accel”屬性。voidQAction::activated()[信號]當(dāng)操作被用戶激活時,也就是說當(dāng)用戶點擊菜單選項或者工具條按鈕或者按下操作的快捷鍵組合時,這個信號被發(fā)射。對于命令操作連接這個信號。對于切換按鈕連接toggled()信號。例如:action/application.cpp、chart/chartform.cpp和themes/themes.cpp。boolQAction::addTo(QWidget*w)[虛]把這個這個操作添加到窗口部件w?,F(xiàn)在操作可以被添加到QToolBar和QPopupMenu窗口部件中。被添加到菜單條中的操作會自動被顯示為一個按鈕,被添加到彈出菜單中的操作會自動顯示為一個菜單項。如果操作被添加成功,addTo()返回真,否則返回假。(如果w不是QToolBar或者QPopupMenu,操作將不會被添加并且將返回假。)也可以參考removeFrom()。例如:action/application.cpp、action/toggleaction/toggleaction.cpp、chart/chartform.cpp和textedit/textedit.cpp。在QActionGroup中被重新實現(xiàn)。voidQAction::addedTo(QWidget*actionWidget,QWidget*container)[虛保護]當(dāng)它在container中為這個操作創(chuàng)建一個窗口部件時(actionWidget),這個函數(shù)被addTo()調(diào)用。voidQAction::addedTo(intindex,QPopupMenu*menu)[虛保護]這是一個重載成員函數(shù),提供了方便。它的行為基本上和上面的函數(shù)相同。當(dāng)它在彈出菜單menu中為這個操作創(chuàng)建一個索引為index的菜單項時,這個函數(shù)被addTo()調(diào)用。QIconSetQAction::iconSet()const返回操作的圖標。詳細情況請參考“iconSet”屬性。boolQAction::isEnabled()const如果操作生效,返回真,否則返回假。詳細情況請參考“enabled”屬性。boolQAction::isOn()const如果切換操作是開的,返回真,否則返回假。詳細情況請參考“on”屬性。boolQAction::isToggleAction()const如果操作是切換操作,返回真,否則返回假。詳細情況請參考“toggleAction”屬性。QStringQAction::menuText()const返回操作的菜單文本。詳細情況請參考“menuText”屬性。boolQAction::removeFrom(QWidget*w)[虛]從窗口部件w中移除操作。如果操作被成功移除,返回真,否則返回假。也可以參考addTo()。voidQAction::setAccel(constQKeySequence&key)[虛]設(shè)置操作的快捷鍵為key。詳細情況請參考“accel”屬性。voidQAction::setEnabled(bool)[虛槽]設(shè)置操作是否生效。詳細情況請參考“enabled”屬性。voidQAction::setIconSet(constQIconSet&)[虛]設(shè)置操作的圖標。詳細情況請參考“iconSet”屬性。voidQAction::setMenuText(constQString&)[虛]設(shè)置操作的菜單文本。詳細情況請參考“menuText”屬性。voidQAction::setOn(bool)[虛槽]設(shè)置切換按鈕為開。詳細情況請參考“on”屬性。voidQAction::setStatusTip(constQString&)[虛]設(shè)置操作的狀態(tài)提示。詳細情況請參考“statusTip”屬性。voidQAction::setText(constQString&)[虛]設(shè)置操作的描述文本。詳細情況請參考“text”屬性。voidQAction::setToggleAction(bool)[虛]設(shè)置操作是否是切換按鈕。詳細情況請參考“toggleAction”屬性。voidQAction::setToolTip(constQString&)[虛]設(shè)置操作的工具提示。詳細情況請參考“toolTip”屬性。voidQAction::setWhatsThis(constQString&)[虛]設(shè)置操作的“這是什么?”幫助文本。詳細情況請參考“whatsThis”屬性。QStringQAction::statusTip()const返回操作的狀態(tài)提示。詳細情況請參考“statusTip”屬性。QStringQAction::text()const返回操作的描述文本。詳細情況請參考“text”屬性。voidQAction::toggle()[槽]切換切換按鈕的狀態(tài)。也可以參考on、toggled()和toggleAction。voidQAction::toggled(bool)[信號]當(dāng)切換按鈕改變狀態(tài)時,這個信號被發(fā)射,命令操作和QActionGroups不發(fā)射toggled()。參數(shù)表示新的狀態(tài),也就是如果切換按鈕被打開,為真,或者如果它被關(guān)閉,為假。依賴切換按鈕是否被打開或者關(guān)閉來觸發(fā)用戶命令要把它連接到一個可以得到bool變量來識別狀態(tài)的槽,例如:QMainWindow*window=newQMainWindow;QAction*labelonoffaction=newQAction(window,"labelonoff",TRUE);QObject::connect(labelonoffaction,SIGNAL(toggled(bool)),window,SLOT(setUsesTextLabel(bool)));也可以參考activated()、toggleAction和on。實例:action/toggleaction/toggleaction.cpp。QStringQAction::toolTip()const返回操作的工具提示。詳細情況請參考“toolTip”屬性。QStringQAction::whatsThis()const返回操作的“這是什么?”幫助文本。詳細情況請參考“whatsThis”屬性。屬性文檔QKeySequenceaccel這個屬性保存的是操作的快捷鍵。鍵代碼可以在Qt::Key和Qt::Modifier中找到。這里沒有默認快捷鍵。通過setAccel()設(shè)置屬性值并且通過accel()來獲得屬性值。boolenabled這個屬性保存的是操作是否生效。失效的操作不能被用戶選擇。它們不從菜單/工具條上消失,但是會以某種方式表面它們不可用,例如,它們也許被變灰。失效操作上的“這是什么?”幫助還是由被設(shè)置的QAction::whatsThis屬性提供。通過setEnabled()設(shè)置屬性值并且通過isEnabled()來獲得到屬性值。QIconSeticonSet這個屬性保存的是操作的圖標。這個圖標會用在工具條按鈕和菜單中菜單文本的左面。這里沒有默認圖標。(請參考action/toggleaction/toggleaction.cpp實例。)通過setIconSet()設(shè)置屬性值并且通過iconSet()來獲得屬性值。QStringmenuText這個屬性保存的是操作的菜單文本。如果操作備添加為菜單中的一個菜單選項將會由圖標(如果有的話)、菜單文本和快捷鍵(如果有的話)組成。如果沒有菜單文本在構(gòu)造函數(shù)或者使用setMenuText()中明確設(shè)置,操作的描述文本將用來作為菜單文本。這里沒有默認菜單文本。也可以參考text。通過setMenuText()設(shè)置屬性值并且通過menuText()來獲得屬性值。boolon這個屬性保存的是切換按鈕是否為開。對于命令操作和QActionGroup這個屬性總是開的(真),setOn()對于它們沒有效果。對于為真的操作,這個屬性的默認值是關(guān)(假)。也可以參考toggleAction。通過setOn()設(shè)置屬性值并且通過isOn()來獲得屬性值。QStringstatusTip這個屬性保存的是操作的狀態(tài)提示。這個狀態(tài)提示將會被顯示在操作的頂級父窗口部件提供的所有狀態(tài)條上。如果沒有狀態(tài)提示被定義,操作使用工具條提示文本。這里沒有默認的狀態(tài)提示。也可以參考statusTip和toolTip。通過setStatusTip()設(shè)置屬性值并且通過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論