QT理論試題及答案(共26頁)_第1頁
QT理論試題及答案(共26頁)_第2頁
QT理論試題及答案(共26頁)_第3頁
QT理論試題及答案(共26頁)_第4頁
QT理論試題及答案(共26頁)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上QT理論試題1 以下關(guān)于QT的描述正確的是: a. 是一個(gè)不跨平臺(tái)的C+圖形用戶界面b. 由挪威TrollTech公司出品c. 只支持Unix、Linuxd. QT API和開發(fā)工具對所支持的平臺(tái)是不一致的2 以下關(guān)于QT的描述不正確的是:a. QT支持2D圖形渲染b. QT支持3D圖形渲染c. QT支持OpenGLd. QT不支持XML3 下關(guān)于不正確的是:a. 是面向嵌入式系統(tǒng)的Qt版本b. 是Qt的嵌入式窗口c. 基于Windows平臺(tái)的開發(fā)工具d. 是完整的自包含C+ GUI的開發(fā)工具4 內(nèi)部對字符集的處理采用以下哪個(gè)標(biāo)準(zhǔn): a. UNICODEb. ASCI

2、Ic. GB2312d. ISO 8859-15 以下關(guān)于Qt描述不正確的是a. 是基于面向?qū)ο蟮腃+語言b. 提供了signal和slot的對象通信機(jī)制c. 有可查詢和可設(shè)計(jì)屬性d. 沒有字符國際化6 以下描述正確的是: a. 標(biāo)準(zhǔn)的C+對象模型可有效的支持運(yùn)行時(shí)參數(shù)b. 標(biāo)準(zhǔn)的C+對象模型的靜態(tài)特性十分靈活c. 圖形用戶界面編程無需運(yùn)行得高效d. 圖形用戶界面編程無需運(yùn)行得高靈活性7 以下不是QT增加的特性:a. 有效的對象通信signal和slotb. 可查詢和可設(shè)計(jì)的對象c. 事件及事件過濾器d. 不使用指針8 以下描述正確的是:a. 元對象系統(tǒng)可以對信號(hào)使用模板b. 元對象系統(tǒng)可以對

3、槽使用模板c. Qt可在多個(gè)平臺(tái)的應(yīng)用程序中完全應(yīng)用模板d. Qt不能在多個(gè)平臺(tái)的應(yīng)用程序中完全應(yīng)用模板9 以下關(guān)于moc敘述正確的是: a. moc即Mult Object Compilerb. 可產(chǎn)生能被任何標(biāo)準(zhǔn)C+編譯訪問的附加C+代碼c. moc必須手動(dòng)調(diào)用d. 類聲明中有無Q_OBJECT無所謂10以下關(guān)于信號(hào)和槽的描述正確的是: a. 用于SOCKET網(wǎng)絡(luò)通信b. 用于UDP網(wǎng)絡(luò)通信e. 用于對象間通信c. 用于串口通信11以下關(guān)于信號(hào)/槽的敘述不正確的是: a. 信號(hào)與槽通過connected函數(shù)任意相連b. 信號(hào)/槽機(jī)制在QObject類中實(shí)現(xiàn)c. 從QWidget類繼承的所有

4、類可以包含信號(hào)和槽d. 當(dāng)對象狀態(tài)變化時(shí)信號(hào)被發(fā)送,對象不關(guān)心是否有其他對象接收到該信號(hào)12以下類聲明中有幾處錯(cuò)誤?class M : public Qobject Q_OBJECTpublic :M ( ) ;int value ( ) constreturn va ;public slots :void setValue ( int ) ;signals :void valueChanged ( int ) ;private:int va ;;a. 5b. 4c. 3d. 213設(shè)有如下聲明void M : : setValue ( int v )if ( v != va )va = v

5、;emit valueChanged ( v ) ;則對于如下語句M a , b ;connect ( &a , SIGNAL ( valueChanged ( int ) ) , &b , SLOT ( setValue ( int ) ) ) ;b.setValue ( 11 ) ;a.setValue ( 12 ) ;b.value ( ) ;執(zhí)行后,值為: a. 11 11b. 12 12c. 11 12d. 12 1114以下關(guān)于槽的描述正確的是: a. 槽具有public和protected 2個(gè)類b. protected slots 表示只有該類的子類的信號(hào)才能連

6、接c. 槽是普通成員函數(shù)d. 不能有private slots15以下關(guān)于元對象系統(tǒng)不正確的是a. 元對象系統(tǒng)只是用于處理對象間通信的信號(hào)/槽機(jī)制b. 元對象系統(tǒng)可處理運(yùn)行時(shí)的類型信息和動(dòng)態(tài)屬性系統(tǒng)c. 元對象系統(tǒng)基于Qobject類d. bc都對16不是元對象代碼實(shí)現(xiàn)的特征的是:a. 提供信號(hào)/槽機(jī)制b. Class.forName ( )在運(yùn)行的時(shí)候返回類名稱c. tr ( )用于國際化中的字符串翻譯d. metaObject ( )返回該類所關(guān)聯(lián)的元對象17以下關(guān)于Q_OBJECT敘述不正確的是: a. 類定一種聲明了Q_OBJECT后,該類才能使用元對象系統(tǒng)相關(guān)的特性b. Q_OBJE

7、CT對所有類都無關(guān)緊要c. QObject的子類中未實(shí)現(xiàn)信號(hào)和槽也可使用Q_OBJECTd. QObject的子類中未實(shí)現(xiàn)屬性也可使用Q_OBJECT18以下關(guān)于元對象編譯器的敘述不正確的是: a. 元對象編譯器不展開#define ,但可展開#includeb. 元對象編譯器不展開#includec. 忽略遇到的所有預(yù)處理程序d. 無法處理所有C+語法19有如下語句class YourClass : public QobjectQ_OBJECTpublic slots :void apply ( void ( *apply ) ( List * , void * ) , char * ) ;

8、以下正確的是a. 完全正確b. 可以沒有Q_OBJECTc. slots關(guān)鍵字有誤d. 函數(shù)指針不能作為信號(hào)和槽的參數(shù)20如下敘述不正確的是: a. 不能把繼承的成員函數(shù)升級(jí)為共有狀態(tài)b. 宏不能用在信號(hào)和槽的參數(shù)中c. 嵌套類不能放在信號(hào)部分d. 嵌套類可以放在槽部分21有如下聲明:class Abc : public QobjectQ_OBJECT public : Q_PROPERTY(Priority priority READ priority WRITE setPriority ) Q_ENUMS ( Priority )enum Priority High , Low , Ver

9、yHigh , VeryLow ;void setPriority ( Priority ) ;Priority priority ( ) const ;關(guān)于屬性聲明的位置以下正確的是: a. 原位置正確 b. 原位置不正確,應(yīng)為 c. 原位置不正確,應(yīng)為 22以下關(guān)于屬性的敘述不正確的是: a. 基于元對象系統(tǒng)b. 在類聲明中用宏聲明c. 屬性不是一個(gè)類的成員d. 屬性只能在繼承于QObject的子類中聲明23以下關(guān)于QObject類敘述不正確的是: a. 是所有Qt對象的基類b. QObject對象樹是一個(gè)靜態(tài)的QObjectList類對象object_treesc. object_tre

10、es鏈表中存有部分對象指針d. 通過object_trees鏈表可查詢到所有的對象24以下是事件處理方法的是: a. 重載QApplication : : notify ( )b. 重載QObject : : event ( )c. 重載Qt基類事件處理函數(shù)d. 以上全是25以下關(guān)于定時(shí)器的敘述不正確的是: a. 多數(shù)平臺(tái)支持2ms精度的定時(shí)器b. 使用定時(shí)器,可以用QTimer類c. 使用定時(shí)器,可以用QObject類的定時(shí)器d. 定時(shí)器精度依賴于操作系統(tǒng)和硬件26以下關(guān)于QObject類定時(shí)器的敘述正確的是: a. 當(dāng)處理器正忙于其它事件的處理時(shí),定時(shí)器仍可以立即觸發(fā)b. 當(dāng)定時(shí)器觸發(fā)時(shí),

11、應(yīng)用程序會(huì)發(fā)送QtimerEventc. 用startTimer ( )開始一個(gè)定時(shí)器,如果成功則返回0d. 用startTimer ( )開始一個(gè)定時(shí)器,如果失敗則返回-127以下是QObject提供的字符串翻譯函數(shù)的選項(xiàng)是: a. translateit ( ) , trUtf8 ( )b. translation ( )c. tr ( ) , trUtf_8 ( )d. tr ( ) , trUtf8 ( )28以下關(guān)于元對象的敘述不正確的是: a. 每個(gè)在類聲明中含有Q_OBJECT宏的類都有一個(gè)對應(yīng)的元對象b. 每個(gè)在類聲明中含有Q_OBJECT宏的類都有一個(gè)對應(yīng)的QMetaObje

12、ct類對象c. 元對象是動(dòng)態(tài)的d. 一個(gè)類可能含有多個(gè)元對象與之對應(yīng)29窗口部件的父類包括: a. QWidgetb. QFramec. QScrollViewd. 以上全是30以下關(guān)于QWidget類、QFrame類和QScrollView類的關(guān)系敘述正確的是: a. 三個(gè)類是兄弟關(guān)系b. 三個(gè)類是繼承關(guān)系:QWidget為祖父,QFrame為父,QScrollView為子c. 三個(gè)類是繼承關(guān)系:QFrame為祖父,QWidget為父,QScrollView為子d. 三個(gè)類是繼承關(guān)系:QFrame為祖父,QWidget與QScrollView互為兄弟31以下關(guān)于Qt風(fēng)格敘述正確的是: a.

13、Qt的風(fēng)格類的基類是QStyle類b. QStyle的多數(shù)成員函數(shù)即有聲明也有實(shí)現(xiàn)c. 其實(shí)現(xiàn)只能在QCommonStyle類中通過重載來完成d. 其實(shí)現(xiàn)只能在QWindowStyle類中通過重載來完成32關(guān)于布局功能的敘述,以下正確的是:a. 在布局空間中布置子窗口部件b. 設(shè)置子窗口部件間的空隙c. 管理在布局空間中布置子窗口部件d. 以上都對33以下關(guān)于QLayout的描述不正確的是:a. 是的布局系統(tǒng)抽象基類b. 其中,屬性int margin代表布局的外邊框的寬度c. 其中,屬性int spacing代表布局內(nèi)的窗口部件的大小d. 其中,屬性ResizeMode resizeMode

14、代表布局的擴(kuò)展方式34布局窗口部件包括:a. QHBoxb. QVBoxc. QGridd. 以上全有35以下敘述不正確的是:a. QHBox允許子窗口部件按水平、垂直和網(wǎng)格排列b. QVBox允許子窗口部件按水平、垂直和網(wǎng)格排列c. QGrid允許子窗口部件按水平、垂直和網(wǎng)格排列d. 以上全不對36以下各項(xiàng)中,是QLayout子類的是:a. QGridLayoutb. QHBoxLayoutc. QVBoxLayoutd. b和c37如果對默認(rèn)放置位置不滿意,則須采取相應(yīng)的措施,以下哪項(xiàng)不是:a. 創(chuàng)建沒有父布局的布局對象b. 調(diào)用addLayout ( )把這個(gè)布局插入到其他布局中c. 沒

15、有辦法d. a和b38以下關(guān)于集合類描述不正確的是:a. 它是裝有多個(gè)條目的容器b. 每個(gè)條目是某種數(shù)據(jù)結(jié)構(gòu)c. 集合類可對容器中的條目做插入操作d. 集合類不能對容器中的條目做刪除操作39以下各項(xiàng)中屬于基于值的集合類是:a. QCacheb. QMapc. QPtrListd. QDict40以下各項(xiàng)中屬于基于指針的集合類的是:a. QIntCacheb. QValueStakc. QValueVectord. QValueList41以下各項(xiàng)中既不基于指針也不基于值的是:a. QIntDictb. QPtrListc. QPtrStackd. QMemArray42所有基于指針的集合繼承了

16、如下哪個(gè)類?a. QGCacheb. QGVectorc. QPtrCollectiond. QGList43當(dāng)插入一個(gè)條目到一個(gè)集合時(shí),如下不正確的是:a. 僅拷貝指針而不拷貝條目本身的,稱“淺拷貝”b. 不允許只拷貝指針而不拷貝條目本身c. 拷貝所有條目的數(shù)組到集合中是可能的d. 選項(xiàng)C又稱“深拷貝”44以下各項(xiàng)中不是與Qt線程相關(guān)的類的是:a. QMutexb. QSemaphorec. QThreadd. 以上都不是45以下關(guān)于Qt線程敘述正確的是:a. Qt中提供了Thread線程類b. Qt中提供了QThread線程類c. 通過重載Thread : : run ( ) 函數(shù)定義線程

17、的執(zhí)行內(nèi)容d. 通過重載QThread : : _run ( ) 函數(shù)定義線程的執(zhí)行內(nèi)容46有如下關(guān)于線程的代碼:class Your_Class : public QThreadpublic :virtual void run ( ) ; ;void Your_Class : run ( ) YourClass:run();for ( int i=0 ; i < 100 ; i+ ) ;int main ( )Your_Class a ;a . run ( ) ;return 0 ;其中有幾處錯(cuò)誤:a. 1b. 2c. 3d. 447以下關(guān)于線程編程時(shí)的注意事項(xiàng)中不正確的是:a. 在持

18、有Qt庫互斥量時(shí)必須執(zhí)行阻塞操作b. 在調(diào)用除了Qt容器和工具類外的任何內(nèi)容之前,鎖定Qt應(yīng)用程序互斥量c. 只在GUI線程中使用QNetwork類d. 不要在應(yīng)用程序中把普通Qt庫與支持線程的Qt庫混用48以下不屬于拖放機(jī)制的是:a. 拖動(dòng)b. 剪貼板c. 放下d. 以上都不是49以下關(guān)于拖動(dòng)的敘述錯(cuò)誤的是:a. 在拖動(dòng)之后,QDragObject被立即刪除b. 拖放明顯完成后,這個(gè)QDragObject要被保存c. QDragObject可能要與其他進(jìn)程通信d. QDragObject對象最后由Qt刪除50在一些簡單情況下,拖放的目標(biāo)接收一個(gè)被拖動(dòng)數(shù)據(jù)的拷貝,并且由源決定是否刪除初始的拖動(dòng)

19、對象,這是QDropEvent中的什么操作?a. Copyb. Movec. Linkd. 以上都不是51Qt/Embedded的開發(fā)公司是:a. Microsoftb. Sunc. Oracled. Trolltech52以下各項(xiàng)中關(guān)于焦點(diǎn)定位的習(xí)慣方式敘述錯(cuò)誤的是:a. 用戶按Tab鍵b. 用戶按Enter鍵c. b選項(xiàng)不是d. 用戶使用鼠標(biāo)滾輪53以下關(guān)于Qt/Embedded敘述不正確的是:a. 是C/S結(jié)構(gòu)b. 類庫完全采用C語言c. 采用framebuffer作為底層圖形接口d. 將外部輸入設(shè)備抽象為keyboard和mouse輸入事件54以下關(guān)于字體的敘述正確的是:a. Qt/E

20、mbedded用QFontManager管理字體,與字體相關(guān)的類在服務(wù)器端運(yùn)行b. Qt/Embedded用QFontManager管理字體,與字體相關(guān)的類在客戶端運(yùn)行c. Qt/Embedded用FontManager管理字體,與字體相關(guān)的類在服務(wù)器端運(yùn)行d. Qt/Embedded用FontManager管理字體,與字體相關(guān)的類在客戶端運(yùn)行55以下各項(xiàng)中與顯示無關(guān)的類是:a. QScreenb. QLockc. QWSManagerd. QDiskFont56以下不是Qt支持的圖像格式是:a. JPGb. PNGc. BMPd. XPM57以下敘述正確的是:a. Qt支持GIF格式圖像,且

21、可以存儲(chǔ)它們b. Qt支持GIF格式圖像,但不可以存儲(chǔ)它們c. Qt不支持GIF格式圖像,但可以存儲(chǔ)它們d. Qt不支持GIF格式圖像,且不可以存儲(chǔ)它們58用QPainter的轉(zhuǎn)換函數(shù)對圖像做轉(zhuǎn)換后,若要恢復(fù)圖像的原樣,則以下正確的是:a. 無法實(shí)現(xiàn)b. 可以實(shí)現(xiàn),用QPainter : : resetForm ( ) 只能恢復(fù)最近一次的轉(zhuǎn)換c. 可以實(shí)現(xiàn),用QPainter : : resetForm ( ) 可以撤銷所有的轉(zhuǎn)換操作59用QPixmap對象打開GIF動(dòng)畫,以下敘述正確的是:a. 可以看到動(dòng)畫b. 看不到任何畫面c. 只能看到動(dòng)畫的第一幀d. 只能看到動(dòng)畫的最后一幀60以下關(guān)于

22、Qt/Embedded客戶端與服務(wù)器的描述不正確的是:a. 客戶端可以有多個(gè)b. 服務(wù)器可以有多個(gè)c. 客戶端只有一個(gè)d. 服務(wù)器只有一個(gè)簡答題1、 什么是qt,有什么優(yōu)點(diǎn)? 答:Qt是諾基亞開發(fā)的一個(gè)跨平臺(tái)的C+圖形用戶界面框架。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所用功能。Qt是完全的,很容易擴(kuò)展,并且允許真正地組件編程。是一個(gè)跨平臺(tái)的 C+ 圖形用戶界面庫。Qt具有非常強(qiáng)的跨平臺(tái)和移植性強(qiáng)的特點(diǎn)。同時(shí)支持linux、windows、嵌入式的用戶界面開發(fā)。2、 使用Qt編碼實(shí)現(xiàn)Lable顯示“hello world”的功能。 #include<QtGui/QAppli

23、cation>#include<QtGui/QWidget>#include<QtGui/QLabel>/#include<QtCore/QTextCodec>int main(int argc,char *argv)QApplication app(argc,argv);/QTextCodec:setCodecForTr(QTextCodec:codecForName("gb18030");QWidget *pWidget=new QWidget;QLabel label(pWidget);label.setText("

24、hello world");pWidget->show();return app.exec();3、 編寫代碼實(shí)現(xiàn)調(diào)用槽函數(shù)退出的quit程序,界面如下: #include<QtGui/QWidget>#include<QPushButton>#include<QtGui>int main(int argc,char *argv)QApplication app(argc,argv);QWidget *pWidget=new QWidget;QPushButton *button=new QPushButton("Quit"

25、;,pWidget);QObject:connect(button,SIGNAL(clicked(),pWidget,SLOT(close();pWidget->show();return app.exec();4、 編程實(shí)現(xiàn)spinbox和slider(QSlider(Qt:Horizontal)之間的交互,界面如下,兩種期間的范圍全部是0-130。Title為“enter your age” #include<QApplication>#include<QHBoxLayout>#include<QSpinBox>#include<QSlide

26、r>#include<QtGui>int main(int argc,char* argv)QApplication app(argc,argv);/創(chuàng)建app的構(gòu)造函數(shù)QWidget *pWidget= new QWidget; /new一個(gè)WidgetpWidget->setWindowTitle("enter your age"); /設(shè)置captionQSpinBox* spinbox = new QSpinBox; /new一個(gè)spinboxQSlider* slider = new QSlider(Qt:Horizontal); /new

27、一個(gè)sliderspinbox->setRange(0,130); /設(shè)置范圍,->符號(hào)slider->setRange(0,130);QObject:connect(spinbox,SIGNAL(valueChanged(int),slider,SLOT(setValue(int);QObject:connect(slider,SIGNAL(valueChanged(int),spinbox,SLOT(setValue(int);/信號(hào)和槽,(發(fā)送者,信號(hào),接收者,槽).第一個(gè)是spinbox發(fā)送給slider的/第二個(gè)是slider發(fā)送給spinbox的spinbox-&

28、gt;setValue(23);/QHBoxLayout是布局管理器,即在水平方向上排列窗口部件QHBoxLayout* layout = new QHBoxLayout;layout->addWidget(spinbox);layout->addWidget(slider); pWidget->setLayout(layout); pWidget->show(); /窗體顯示return app.exec();5、 如何編譯運(yùn)行qt程序,命令是什么? qmake -projectqmake make6、 如何將UI界面問件轉(zhuǎn)化成代碼的.h文件?(假設(shè)ui文件名為gog

29、ogo.ui。) UIC -o gogogo.h gogogo.ui7、 請?zhí)顚懣崭裉幍恼Z句,實(shí)現(xiàn)聲明自己的槽MyWinExit和信號(hào)OnExit。 class MyWindow : public Qwidget Q_OBJECTpublic: MyWindow(QWidget *parent = 0);signals: OnExit(); private slots: MyWinExit(); 8、 假設(shè)我們建立了一個(gè)widget的圖形用戶界面,如圖所示:那么我們main文件應(yīng)該怎么寫,假設(shè)ui的名字為gotocelldialog.ui #include <QApplication&g

30、t; #include <QDialog> #include "ui_gotocelldialog.h" int main(int argc, char *argv) QApplication app(argc, argv); Ui:GotoCellDialog ui; QDialog *dialog = new QDialog; ui.setupUi(dialog); dialog->show(); return app.exec();9、 假設(shè)文件瀏覽器的界面定義如下:/* Form generated from reading ui file 

31、9;dir.ui'* Created: Fri Dec 10 11:46:18 2010* by: Qt User Interface Compiler version 4.5.0* WARNING! All changes made in this file will be lost when recompiling ui file!*/#ifndef UI_DIR_H#define UI_DIR_H#include <QtCore/QVariant>#include <QtGui/QAction>#include <QtGui/QApplication

32、>#include <QtGui/QButtonGroup>#include <QtGui/QComboBox>#include <QtGui/QDialog>#include <QtGui/QHeaderView>#include <QtGui/QListView>#include <QtGui/QSplitter>#include <QtGui/QTableView>#include <QtGui/QTreeView>#include <QtGui/QVBoxLayout>QT

33、_BEGIN_NAMESPACEclass Ui_Dialogpublic: QVBoxLayout *verticalLayout; QComboBox *comboBox; QSplitter *splitter_2; QSplitter *splitter; QTreeView *treeView; QListView *listView; QTableView *tableView; void setupUi(QDialog *Dialog) if (Dialog->objectName().isEmpty() Dialog->setObjectName(QString:f

34、romUtf8("Dialog"); Dialog->resize(901, 372); verticalLayout = new QVBoxLayout(Dialog); verticalLayout->setObjectName(QString:fromUtf8("verticalLayout"); comboBox = new QComboBox(Dialog); comboBox->setObjectName(QString:fromUtf8("comboBox"); comboBox->setMaxi

35、mumSize(QSize(85, ); verticalLayout->addWidget(comboBox); splitter_2 = new QSplitter(Dialog); splitter_2->setObjectName(QString:fromUtf8("splitter_2"); splitter_2->setOrientation(Qt:Horizontal); splitter = new QSplitter(splitter_2); splitter->setObjectName(QString:fromUtf8(&quo

36、t;splitter"); splitter->setOrientation(Qt:Horizontal); treeView = new QTreeView(splitter); treeView->setObjectName(QString:fromUtf8("treeView"); splitter->addWidget(treeView); listView = new QListView(splitter); listView->setObjectName(QString:fromUtf8("listView"

37、); splitter->addWidget(listView); splitter_2->addWidget(splitter); tableView = new QTableView(splitter_2); tableView->setObjectName(QString:fromUtf8("tableView"); splitter_2->addWidget(tableView); verticalLayout->addWidget(splitter_2); retranslateUi(Dialog); QMetaObject:conn

38、ectSlotsByName(Dialog); / setupUi void retranslateUi(QDialog *Dialog) Dialog->setWindowTitle(QApplication:translate("Dialog", "Dialog", 0, QApplication:UnicodeUTF8); comboBox->clear(); comboBox->insertItems(0, QStringList() << QApplication:translate("Dialog&qu

39、ot;, "345210227350241250350247206345233276", 0, QApplication:UnicodeUTF8) << QApplication:translate("Dialog", "347264247345207221350247206345233276", 0, QApplication:UnicodeUTF8) ); Q_UNUSED(Dialog); / retranslateUi;namespace Ui class dir: public Ui_Dialog ; / nam

40、espace UiQT_END_NAMESPACE#endif / UI_DIR_H請使用Qdir實(shí)現(xiàn)treeview,listview,tableview項(xiàng)目 答:dir.h#ifndef DIR_H#define DIR_H#include <QDialog>#include "ui_dir.h"class Dir : public QDialog, public Ui:dirQ_OBJECTpublic:Dir(QWidget *parent = 0);public slots:void chooseMode(int);#endifdir.cpp#incl

41、ude <QtGui>#include "dir.h"Dir:Dir(QWidget *parent):QDialog(parent)setupUi(this);QDirModel *dirModel;QStringList filter; dirModel=new QDirModel(filter,QDir:Dirs|QDir:NoDotAndDotDot,QDir:DirsFirst|QDir:Name|QDir:Type); treeView->setModel(dirModel);treeView->hideColumn(1);treeVie

42、w->hideColumn(2);treeView->hideColumn(3);tableView->setModel(dirModel);listView->setModel(dirModel); /tableView->hide();comboBox=new QComboBox(); comboBox->addItem(tr("以圖標(biāo)方式顯示");comboBox->addItem(tr("以列表方式顯示");comboBox->addItem(tr("以詳細(xì)信息方式顯示");co

43、mboBox->setCurrentIndex(0);/selectionModel=ui->treeView->selectionModel();connect(treeView,SIGNAL(doubleClicked(QModelIndex),listView,SLOT(setRootIndex(QModelIndex);connect(treeView,SIGNAL(doubleClicked(QModelIndex),tableView,SLOT(setRootIndex(QModelIndex);connect(comboBox,SIGNAL(activated(

44、int),this,SLOT(chooseMode(int);void Dir:chooseMode(int i) /*if(i=0) tableView->hide(); listView->show(); if(i=1) listView->hide(); tableView->show(); */main.cpp#include <QApplication>#include "dir.h"int main(int argc,char *argv)QApplication app(argc,argv);Dir *adddir = ne

45、w Dir;adddir->show();return app.exec();10、編寫一個(gè)簡單的程序,它包含兩個(gè)列表框,使用for循環(huán)向左邊的列表框添加幾個(gè)條目。點(diǎn)擊>按鈕可以將左邊選中的條目添加到右邊.點(diǎn)擊<按鈕可以將右邊選中的條目添加到左邊。點(diǎn)擊>>按鈕可以將左邊的所有條目添加到右邊。(提示:列表框控件的類是QListWidget。應(yīng)該熟悉QListWidget常用的一些方法及信號(hào)和槽。) 運(yùn)行結(jié)果如圖:答:ui_listbox.h/* Form generated from reading ui file 'listbox.ui'* Cre

46、ated: Mon Jul 7 00:10:58 2008* by: Qt User Interface Compiler version 4.4.0* WARNING! All changes made in this file will be lost when recompiling ui file!*/#ifndef UI_LISTBOX_H#define UI_LISTBOX_H#include <QtCore/QVariant>#include <QtGui/QAction>#include <QtGui/QApplication>#includ

47、e <QtGui/QButtonGroup>#include <QtGui/QListWidget>#include <QtGui/QPushButton>#include <QtGui/QWidget>QT_BEGIN_NAMESPACEclass Ui_Formpublic: QListWidget *leftList; QListWidget *rightList; QPushButton *add; QPushButton *remove; QPushButton *addAll; QPushButton *removeAll; void

48、 setupUi(QWidget *Form) if (Form->objectName().isEmpty() Form->setObjectName(QString:fromUtf8("Form"); Form->resize(522, 388); leftList = new QListWidget(Form); leftList->setObjectName(QString:fromUtf8("leftList"); leftList->setGeometry(QRect(10, 20, 211, 341); rig

49、htList = new QListWidget(Form); rightList->setObjectName(QString:fromUtf8("rightList"); rightList->setGeometry(QRect(295, 20, 211, 341); add = new QPushButton(Form); add->setObjectName(QString:fromUtf8("add"); add->setGeometry(QRect(230, 80, 51, 27); remove = new QPus

50、hButton(Form); remove->setObjectName(QString:fromUtf8("remove"); remove->setGeometry(QRect(230, 130, 51, 27); addAll = new QPushButton(Form); addAll->setObjectName(QString:fromUtf8("addAll"); addAll->setGeometry(QRect(230, 180, 51, 27); removeAll = new QPushButton(For

51、m); removeAll->setObjectName(QString:fromUtf8("removeAll"); removeAll->setGeometry(QRect(230, 230, 51, 27); retranslateUi(Form); QMetaObject:connectSlotsByName(Form); / setupUi void retranslateUi(QWidget *Form) Form->setWindowTitle(QApplication:translate("Form", "Fo

52、rm", 0, QApplication:UnicodeUTF8); add->setText(QApplication:translate("Form", ">", 0, QApplication:UnicodeUTF8); remove->setText(QApplication:translate("Form", "<", 0, QApplication:UnicodeUTF8); addAll->setText(QApplication:translate("

53、;Form", ">>", 0, QApplication:UnicodeUTF8); removeAll->setText(QApplication:translate("Form", "<<", 0, QApplication:UnicodeUTF8); Q_UNUSED(Form); / retranslateUi;namespace Ui class Form: public Ui_Form ; / namespace UiQT_END_NAMESPACE#endif / UI_LISTBOX_Hlistbox.h#ifndef _LISTBOX_H_#define _LISTBOX_H_#include "li

溫馨提示

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

最新文檔

評論

0/150

提交評論