版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度別墅庭院景觀照明節(jié)能改造與維護合同3篇
- 2024玉石行業(yè)區(qū)塊鏈技術(shù)應(yīng)用與合作合同集錦3篇
- 2024版事業(yè)單位續(xù)簽勞動合同申請書
- 2025年度物流運輸代理服務(wù)合同標準范本4篇
- 2025年度智能電網(wǎng)用電安全出租房屋合同范本4篇
- 2025年分公司設(shè)立與市場開發(fā)合作協(xié)議書4篇
- 建筑垃圾再利用可行性研究報告x
- 2025年電子商務(wù)平臺租賃續(xù)租服務(wù)協(xié)議3篇
- 2025年物業(yè)客戶服務(wù)實務(wù)手冊編制及培訓(xùn)高級版合同3篇
- 2025年網(wǎng)絡(luò)安全產(chǎn)品銷售總代理專項協(xié)議2篇
- TD/T 1060-2021 自然資源分等定級通則(正式版)
- 人教版二年級下冊口算題大全1000道可打印帶答案
- 《創(chuàng)傷失血性休克中國急診專家共識(2023)》解讀
- 倉庫智能化建設(shè)方案
- 海外市場開拓計劃
- 2024年度國家社會科學(xué)基金項目課題指南
- 供應(yīng)鏈組織架構(gòu)與職能設(shè)置
- 幼兒數(shù)學(xué)益智圖形連線題100題(含完整答案)
- 2024年九省聯(lián)考新高考 數(shù)學(xué)試卷(含答案解析)
- 紅色歷史研學(xué)旅行課程設(shè)計
- 如何避免護理患者投訴
評論
0/150
提交評論