freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

qt教程(已修改)

2024-09-06 05:43 本頁面
 

【正文】 Qt 教程一 —— 第一章: Hello, World! 第一個程序是一個簡單的 Hello World例子。它只包含你建立和運(yùn)行 Qt 應(yīng)用程序所需要的最少的代碼。上面的圖片是這個程序的快照。 /**************************************************************** ** ** Qt 教程一 2 ** ****************************************************************/ include include int main( int argc, char **argv ) { QApplication a( argc, argv )。 QPushButton hello( Hello world!, 0 )。 ( 100, 30 )。 ( amp。hello )。 ()。 return ()。 } 一行一行地解說 include 這一行包含了 QApplication類的定義。在每一個使用 Qt 的應(yīng)用程序中都必須使用一個QApplication對象。 QApplication管理了各種各樣的應(yīng)用程序的廣泛資源,比如默認(rèn)的字體和 光標(biāo)。 include 這一行包含了 QPushButton類的定義。 參考文檔 的文件的最上部分提到了使用哪個類就必須包含哪 個頭文件的說明。 QPushButton是一個經(jīng)典的圖形用戶界面按鈕,用戶可以按下去,也可以放開。它管理自己的觀感,就像其它每一個 QWidget。一個窗口部件就是一個可以處理用戶輸入和繪制圖形的用戶界面對象。程序員可以改變它的全部 觀感 和它的許多主要的屬性( 比如顏色),還有這個窗口部件的內(nèi)容。一個 QPushButton可以顯示一段文本或者一個 QPixmap。 int main( int argc, char **argv ) { main()函數(shù)是程序的入口。幾乎在使用 Qt 的所有情況下, main()只需要在把控制轉(zhuǎn)交給 Qt庫之前執(zhí)行一些初始化,然后 Qt庫通過事件來向程序告知用戶的行為。 argc 是命令行變量的數(shù)量, argv 是命令行變量 的數(shù)組。這是一個 C/C++特征。它不是 Qt 專有的,無論如何 Qt 需要處理這些變量(請看下面)。 QApplication a( argc, argv )。 a是這個程序的 QApplication。它在這里被創(chuàng)建并且處理這些命令行變量(比如在 X窗口下的display)。請注意,所有被 Qt 識別的命令行參數(shù)都會從 argv中被移除(并且 argc 也因此而減少)。關(guān)于細(xì)節(jié)請看 QApplication::argv()文檔。 注意: 在任何 Qt 的窗口系統(tǒng)部件被使用之前創(chuàng)建 QApplication對象是必須的。 QPushButton hello( Hello world!, 0 )。 這里,在 QApplication之后 ,接著的是第一個窗口系統(tǒng)代碼:一個按鈕被創(chuàng)建了。 這個按鈕被設(shè)置成顯示 “Hello world!”并且它自己構(gòu)成了一個窗口(因?yàn)樵跇?gòu)造函數(shù)指定 0 為它的父窗口,在這個父窗口中按鈕被定位)。 ( 100, 30 )。 這個 按酒被設(shè)置成 100 像素寬, 30 像素高(加上窗口系統(tǒng)邊框)。在這種情況下,我們不用考慮按鈕的位置,并且我們接受默認(rèn)值。 ( amp。hello )。 這個按鈕被選為這個應(yīng)用程序的主窗口部件。如果用戶關(guān)閉了主窗口部件,應(yīng)用程序就退出了。 你不用必須設(shè)置一個主窗口部件,但絕大多數(shù)程序都有一個。 ()。 當(dāng)你創(chuàng)建一個窗口部件的時候,它是不可見的。你必須調(diào)用 show()來使它變?yōu)榭梢姷摹? return ()。 這里就是 main()把控制轉(zhuǎn)交給 Qt,并且當(dāng)應(yīng)用程序退出的時候 exec()就會返回。 在 exec()中, Qt 接受并處理用戶和系統(tǒng)的事件并且把它們傳遞給適當(dāng)?shù)拇翱诓考? } 你現(xiàn)在可以試著編譯和運(yùn)行這個程序了。 編譯 編譯一個 C++應(yīng)用程序,你需要創(chuàng)建一個 makefile。創(chuàng)建一個 Qt 的 makefile 的最容易的方法是使用 Qt 提供的連編工具 qmake。如果你已經(jīng)把 ,你所要做的就是這些: qmake project qmake 第一個命令調(diào)用 qmake 來生成一個 .pro(項(xiàng)目)文件。第二個命令根據(jù)這個項(xiàng)目文件來生成一個(系統(tǒng)相關(guān)的) makefile。你現(xiàn)在可以輸入 make(或者 nmake,如果你使用 Visual Studio),然后運(yùn)行你的第一個 Qt 應(yīng)用程序! 行為 當(dāng)你運(yùn)行它的時候,你就會看到一個被單一按鈕充滿的小窗口,在它上面你可以讀到著名的詞: Hellow World! 練習(xí) 試著改變窗口的大小。 按下按鈕。如果你在 X 窗口下運(yùn)行,使用 geometry選項(xiàng)(比如, geometry 100x200+10+20)來運(yùn)行這個程序。 現(xiàn)在你可以進(jìn)行 第二章 了。 Qt 教程一 —— 第二章:調(diào)用退出 你已經(jīng)在 第一章 中創(chuàng)建了一個窗口,我們現(xiàn)在使這個應(yīng)用程序在用戶讓它退出的時候退 出。 我們也會使用一個比默認(rèn)字體更好的一個字體。 /**************************************************************** ** ** Qt 教程一 2 ** ****************************************************************/ include include include int main( int argc, char **argv ) { QApplication a( argc, argv )。 QPushButton quit( Quit, 0 )。 ( 75, 30 )。 ( QFont( Times, 18, QFont::Bold ) )。 QObject::connect( amp。quit, SIGNAL(clicked()), amp。a, SLOT(quit()) )。 ( amp。quit )。 ()。 return ()。 } 一行一行地解說 include 因?yàn)檫@個程序使用了 QFont,所以它需要包含 。 Qt 的字體提取和 X中提供的可怕的字體提取大為不同,字體的載入和使用都已經(jīng)被高度優(yōu)化了。 QPushButton quit( Quit, 0 )。 這時,按鈕顯示 “Quit”,確切的說這就是當(dāng)用戶點(diǎn)擊這個按鈕時程序所要做的。這不是一個巧合。因?yàn)檫@個按鈕是一個頂層窗口,我們還是 把 0 作為它的父對象。 ( 75, 30 )。 我們給這個按鈕選擇了另外一個大小,因?yàn)檫@個文本比 “Hello world!”小一些。我們也可以使用QFontMetrics 來設(shè)置正確的大小。 ( QFont( Times, 18, QFont::Bold ) )。 這里我們給這個按鈕選擇了一個新字體, Times 字體中的 18 點(diǎn)加粗字體。注意在這里我們調(diào)用了這個字體。 你也可以改變整個應(yīng)用程序的默認(rèn)字體(使用 QApplication::setFont())。 QObject::connect( amp。quit, SIGNAL(clicked()), amp。a, SLOT(quit()) )。 connect 也許是 Qt 中 最重要 的特征了。注意 connect()是 QObject 中的一個靜態(tài)函數(shù)。不要把這個函數(shù)和 socket 庫中的 connect()搞混了。 這一行在兩個 Qt 對象(直接或間接繼承 QObject 對象的對象)中建立了一種單向的連接。每一個 Qt 對象都有 signals(發(fā)送消息)和 slots(接收消息) 。所有窗口部件都是 Qt 對象。它們繼承QWidget,而 QWidget 繼承 QObject。 這里 quit 的 clicked()信號和 a 的 quit()槽連接起來了 ,所以當(dāng)這個按鈕被按下的時候,這個程序就退出了。 信號和槽 文檔詳細(xì)描述了這一主題。 行為 當(dāng)你運(yùn)行這個程序的時候,你 會看到這個窗口比第一章中的那個小一些,并且被一個更小的按鈕充滿。 (請看 編譯 來學(xué)習(xí)如何創(chuàng)建一個 makefile 和連編應(yīng)用程序。) 練習(xí) 試著改變窗口的大小。按下按鈕。注意! connect()看起來會有一些不同。 是不是在 QPushButton中還有其它的你可以連接到 quit 的信號?提示: QPushButton繼承了QButton的絕大多數(shù)行為。 現(xiàn)在你可以進(jìn)行 第三章 了。 Qt 教程一 —— 第三章:家庭價值 這個例子演示了如何創(chuàng)建一個父窗口部件和子窗口部件。 我們將會保持這個程序的簡單性,并且只使用一個單一的父窗 口部件和一個獨(dú)立的子窗口部件。 /**************************************************************** ** ** Qt 教程一 3 ** ****************************************************************/ include include include include int main( int argc, char **argv ) { QApplication a( argc, argv )。 QVBox box。 ( 200, 120 )。 QPushButton quit( Quit, amp。box )。 ( QFont( Times, 18, QFont::Bold ) )。 QObject::connect( amp。quit, SIGNAL(clicked()), amp。a, SLOT(quit()) )。 ( amp。box )。 ()。 return ()。 } 一行一行地解說 include 我們添加了一個頭文件 。 QVBox box。 這里我們簡單地創(chuàng)建了一個垂直的盒子容器。 QVBox把它的子窗口部件排成一個垂直的行,一個在其它的上面,根據(jù)每一個子窗口部件的 QWidget::sizePolicy()來安排空間。 ( 200, 120 )。 我們它的高設(shè)置為 120 像素,寬為 200 像素。 QPushButton quit( Quit, amp。box )。 子窗口部件產(chǎn)生了。 QPushButton通過一個文本( “text”)和一個父窗口部件( box)生成的。子窗口部件總是放在它的父窗口部件的最頂端。當(dāng)它被顯示的時候,它被 父窗口部件的邊界擋住了一部分。 父窗口部件, QVBox,自動地把這個子窗口部件添加到它的盒子中央。因?yàn)闆]有其它的東西被添加了,這個按鈕就獲得了父窗口部件的所有空間。 ()。 當(dāng)父窗口部件被顯示的時候,它會調(diào)用所有子窗口部件的顯示函數(shù)(除非在這些子窗口部件中你已經(jīng)明確地使用 QWidget::hide())。 行為 這個按鈕不再充滿整個窗口部件。相反,它獲得了一個 “自然的 ”大小。這是因?yàn)楝F(xiàn)在的這個新的頂層窗口,使用了按鈕的大小提示和大小變化策略來設(shè)置這個按鈕的大小和位置。(請看QWidget::sizeHint()和 QWidget::setSizePolicy()來獲得關(guān)于這幾個函數(shù)的更詳細(xì)的信息。) (請看 編譯 來學(xué)習(xí)如何創(chuàng)建一個 makefile 和連編應(yīng)用程序。) 練習(xí) 試著改變窗口的大小。按鈕是如何變化的?按鈕的大小變化策略是什么?如果你運(yùn)行這個程序的時候使用了一個大一些的字體,按鈕的高度發(fā)生了 什么變化?如果你試圖讓這個窗口 真的 變小,發(fā)生了什么? 現(xiàn)在你可以進(jìn)行 第四章 了。 Qt 教程一 —— 第四章:使用窗口部件 這個例子顯示了如何創(chuàng)建一個你自己的窗口部件,描述如何控制一個窗口部件的最小大小和最大大小,并且介紹了窗口部件的名稱。 /**************************************************************** ** ** Qt 教程一 4 ** ****************************************************************/
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1