日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT基础二

發布時間:2025/3/20 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT基础二 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Subclassing QMainWindow

??????應用程序的主窗口是通過創建QMainWindow的派生類來完成的。QMainWindow和QDialog一樣,都是派生自QWidget。

??????closeEvent()是由QWidget提供的一個虛函數,在用戶關閉窗口時會被自動調用。

??????setCentralWidget()將某個Widget設置為主窗口的central widget, 而central widget意味著在顯示時會占據主窗口的中央位置。

??????Qt下的GUI 編程支持多種圖形格式。可以使用多種方式為應用程序提供圖像,最常見的包括:

??????1).????????將圖像存儲在文件中,運行時加載之。
??????2).????????在源碼中include XPM文件(XPM文件也是合法的C++文件)。
??????3).????????利用Qt的資源機制。

??????Qt的資源機制比之運行時加載更方便,并對所有支持的圖像格式都能良好工作。

??????為了利用Qt的資源機制,需要創建一個資源文件,并在.pro文件中對應添加一行來對資源文件進行標識。例如:

????????RESOURCES= spreadsheet.qrc

??????資源文件本身采用了簡單的XML格式。它被編譯進程序的可執行文件,因此不會被丟失。在對資源進行定位時,使用路徑前綴" :/" ,例如“ :/images/icon.png " 。資源本身可以是任何類型的文件。

3.2????????Creating Menus and Toolbars

??????Qt通過引入Action這一概念簡化了對menu和toolbar的編程。一個Action可以被添加到任意數量menu和toobar中。

??????在Qt中對menu和toolbar的編程涉及到三個步驟:

??????1).????????創建并設置Action
??????2).????????創建menu,并在其中添加Action
??????3).????????創建toolbar,并在其中添加Action
?????
??????Action的創建是通過QAction類來實現的,對每個Action,可以為其設置accelerator,parent,shortcut key, 可見性以及status tip等屬性,并可以通過調用connect()為ACtion設置被觸發要執行的操作。

??????QTableWidget的基類QAbstraceItemView提供了selectAll()這個slot。

??????QApplication類提供了aboutQt()這個slot,可以通過全局變量qApp(一個類型為QApplication *的指針)來使用之。

??????在Qt中,menu由QMenu類的實例表示。而Qmenu是要被放入QMenuBar之中的。函數QMainWindow::menuBar()返回一個類型為QMenuBar * 的指針。QMenuBar::addMenu()根據指定文本創建一個QMenu widget并將其添加進MenuBar中。QMenu::addAction() 則為Menu添加Action。

??????任意Qt Widget都可以具備相關的一系列QAction。通過調用QWidget::addAction() ,可以為Widget添加Action。這一特性可用來創建上下文菜單。

3.3????????Setting Up the Status Bar

??????QMainWindow::statusBar() 返回一個指向status bar的指針;status bar 在statusBar()第一次被調用時被創建。


3.4????????Implementing The Menu


??????QMessageBox::Defalut修飾符使得被修飾的Button成為默認Button,而QMessage::Escape修飾符則使得Esc鍵自動觸發被修飾的Button。
?????
??????QMessageBox::warning()用于彈出提示對話框。該函數屬于Qt提供的static convenicence function

static convenience function

??????QFileDialog::getOpenFileName() 可用于從用戶處獲得文件名--該函數彈出一個文件選擇對話框,要求用戶選擇一個文件,并返回文件名,或者在用戶選擇" Cancel" 時返回空字符串。該函數的第一個參數是其parent widget。對于dialog和其他widget,parent-child關系的意味是不完全相同的。一個dialog永遠是一個獨立的窗口,但是如果它擁有parent,則默認在parent之上居中顯示。
?????
??????當用戶發出關閉窗口的操作時,Qwidget::close() 這個slot會被調用,該slot向對應的widget發送close event。重新實現QWidget::closeEvent()能夠攔截這個event,以便確定是否真的要關閉窗口,防止誤操作。

??????每個QWidget都有一個windowModified屬性,在窗口文檔被修改時應該被設為True,否則被設為false。

??????QString::arg() 函數將字符串中編號最低的" %n" 用參數進行替換,并返回替換后的字符串。
?????
??????每個Action都可以擁有一個類型為QVariant的關聯數據。
?????
??????Qt中的qobject_cast< T> () 機制對于動態庫也可以正常工作。

?

3.5????????Using Dialog

??????modeless window--one that runs independently of any other windows in the application

??????對于modeless dialog ,當其被彈出時,可能處于三種情況:

??????1).????????這是該對話框第一次被激活
??????2).????????該對話框之前曾被激活,但用戶又將其關閉
??????3).????????該對話框之前曾被激活,而且仍可見

??????show() 將一個隱藏窗口變為可見,而activateWIndow()則將窗口的狀態變為active。

??????model window--pops up when invoked and blocks the application,preventing any other processing or interactions until it is closed.

??????一個dialog若是用show()來激活,則是modeless dialog;若通過exec()來激活,則是model dialog。此外,還可以調用setModel()來設置dialog的顯示模式。

??????QDialog::exec() 的返回至在dialog被確認時為true,否則為false。

??????在棧上創建 model dialog是一種良好的編程慣例,因為在使用完后就不再需要,而model dialog會在作用域結束后自動被銷毀。

??????由于多數應用程序的About box 都是高度雷同的,Qt中提供了一個方便的static convenicence function QMessage::about(),該函數和QMessageBox::warning()很相似。


3.6????????Storing Setting

??????Qt中是通過QSettings類來將應用程序的設置信息存儲到平臺相關的位置--windows下存入注冊表中,unix中存在文本文件中。

??????QSettings的構造函數包含兩個參數,分別是organization's name 和 application's name ,Qt使用這兩個參數來對應用程序的設置信息進行定位。

??????QSettings以key-value pair的形式存儲信息。

3.7????????Multiple Documents

??????要想實現多文檔程序,首先必須要通過new在堆上創建主窗口,而不是在棧上創建主窗口。

??????QAplication::closeAllWindows() 這個slot完成的操作是關閉應用程序所有的窗口,除非其中某個窗口拒絕了close event。程序員不需要擔心未保存的修改,因為這會由QWidget::closeEvent()負責處理。

??????通過在MainWindow的構造函數中調用setAttribute()函數來設置Qt::WA_DeleteOnClose屬性,可以要求Qt在窗口被關閉時將其自動銷毀。

??????Qt在其可用所有平臺上都支持SDI和MDI程序的創建。


3.8?????Splash Screnns

??????在Qt中為程序添加splash screen非常簡單,可通過QSplashScreen類來實現。

??????通常情況下,與splash screen相關的代碼都放在main()中,出現在調用QApplication::exec()之前。

轉載于:https://www.cnblogs.com/qq78292959/archive/2012/06/04/2534281.html

總結

以上是生活随笔為你收集整理的QT基础二的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 清纯唯美激情 | 日韩在线观看免费av | а√天堂资源在线 | 欧美激情3p| 综合激情婷婷 | h视频在线看 | 天天看天天爽 | 毛片网站免费在线观看 | 99久久人妻无码中文字幕系列 | 自拍偷在线精品自拍偷无码专区 | www.爱爱.com | 69久久 | 中文字幕在线观看日韩 | 成人看片网 | 日本黄色精品 | 欧美日韩亚洲国产精品 | 3o一40一50一6o女人毛片 | xxxwww18| 三上悠亚人妻中文字幕在线 | 丰满人妻一区二区三区在线 | 69堂免费视频| 91宅男| 波多野结衣之潜藏淫欲 | 一级做a视频 | 日韩精品中文字幕一区二区 | 欧美日韩国产综合在线 | 久热免费视频 | 欧美亚洲综合视频 | 成人免费在线播放 | 日本精品久久久久中文字幕 | 亚洲第一免费网站 | 北条麻妃在线一区 | 久久久久久艹 | 毛片传媒 | 男生女生插插插 | 僵尸叔叔在线观看国语高清免费观看 | 寂寞午夜影院 | 日韩国产一区 | 无码粉嫩虎白一线天在线观看 | 欧美日韩国产一区二区三区在线观看 | 爱爱的网站| 大屁股白浆一区二区 | 午夜资源| 国模无码视频一区二区三区 | av中文字幕观看 | 黄色污在线观看 | 波多野结衣在线免费视频 | 激情久 | 日本精品一区二区三区在线观看 | 女人张开双腿让男人捅 | 91精品网 | 日韩一区二区三区精 | 爱蜜臀av| 日韩xxx视频 | 亚洲成人av | 99精品久久久久久久婷婷 | 国产精品久久久久久免费免熟 | 欧美成人久久久免费播放 | va在线播放| 成人免费黄色大片v266 | h视频免费在线 | 日韩最新av| 91av视频 | 都市激情男人天堂 | 久操新在线 | 五月婷婷开心中文字幕 | 动漫av网站 | 国产白嫩美女无套久久 | 国产精品18久久久久久无码 | 人人插人人澡 | 日韩在线中文字幕视频 | www狠狠爱| 五月少妇 | 国产精品111| 伊人婷婷久久 | 天堂中文8| 成人精品久久久 | 日本高清视频免费观看 | 午夜寂寞视频 | 在线免费观看a视频 | 精品人妻无码一区二区色欲产成人 | 在线观看视频一区二区 | 97国产高清 | 99爱视频在线观看 | 亚洲国产成人在线观看 | 91麻豆映画传媒 | 亚洲精品视频一二三区 | 免费黄色的网站 | 欧美色频| 久久精品久久99 | 精品一区91| 成人免费看黄 | 精品视频在线播放 | 无码毛片aaa在线 | 国产一级淫片免费 | 国产精品三 | 肥臀浪妇太爽了快点再快点 | 欧美久久久久久久久久 | 久久tv|