原创 Qt 之路 (17)—標準對話框之QMessageBox

      這次來說一下QMessageBox以及類似的幾種對話框。其實,我們已經用過QMessageBox了,就在之前的幾個程序中。不過,當時是大略的說了一下,現在專門來說說這幾種對話框。先來看一下最熟悉的QMessageBox::i

原创 Qt 之路 (15)—標準對話框之QFileDialog

    《 Qt之路 》已經寫到了第15篇,然而現在再寫下去卻有點困難,原因是當初並沒有想到會連續的寫下去,因此並沒有很好的計劃這些內容究竟該怎樣去寫。雖然前面說過,本教程主要線路參考《C++ Gui Programming with

原创 Qt 之路 (18)—標準對話框之QInputDialog

       這是Qt標準對話框的最後一部分。正如同其名字顯示的一樣,QInputDialog用於接收用戶的輸入。QInputDialog提供了一些簡單的static函數,用於快速的建立一個對話框,正像QColorDialog提供了ge

原创 Qt 之路 (03)—你好,世界!(續)

下面來詳細解析一下上篇文章HelloWorld程序,儘管很簡單,但卻可以對Qt程序的結構有一個清楚的認識。現在再把代碼貼過來.   #include <QApplication>   #include <QLabel>   int ma

原创 Qt 之路 (05)—組件佈局

同Swing類似,Qt也提供了幾種組件定位的技術。其中就包括絕對定位和佈局定位。顧名思義,絕對定位就是使用最原始的定位方法,給出這個組件的座標和長寬值。這樣,Qt就知道該把組件放在哪裏,以及怎麼設置組件的大小了。但是這樣做的一個問題是,

原创 Qt 之路 (09)—深入信號和槽

       信號槽機制是Qt編程的基礎。通過信號槽,能夠使Qt各組件在不知道對方的情形下能夠相互通訊。這就將類之間的關係做了最大程度的解耦。槽函數和普通的C++成員函數沒有很大的區別。它們也可以使virtual的;可以被重寫;可以使p

原创 Qt 之路 (12)—菜單和工具條

       在前面的QMainWindow的基礎之上,我們開始着手建造我們的應用程序。雖然現在已經有一個框架,但是,確切地說我們還一行代碼沒有寫呢!下面的工作就不那麼簡單了!在這一節裏面,我們要爲我們的框架添加菜單和工具條。就像Swi

原创 Qt下的OpenGL 編程(4)進軍3D世界

一、提要 有了前面的基礎,我們今天就可以進軍3D世界了。 今天我們可以學到的是:在三維空間上建立空間物體,紋理貼圖。 二、openGL座標系 OpenGL使用右手座標,從左到右,x遞增,從下到上,y遞增,

原创 Qt下的OpenGL 編程(6)混合、霧、抗鋸齒

一、提要 混合:對顏色進行混合,實現像“半透明”一樣的效果。 抗鋸齒:使直線和多邊形的鋸齒狀邊緣變得平滑。 霧:創建具有大氣效果的場景。 二、混合 混合的最終效果是使場景看上去像是半透明的。

原创 Qt下的OpenGL 編程(10)Solar System

一、提要 今天的內容是OpenGL的編程實踐—太陽系的模擬! 紅寶書上有相應的教程,但這裏我們要實現得更全面一些。iPad上有一個很棒的應用,名字叫Solar System,我們儘量去達到它的效果。 先來看一下最

原创 Qt下的OpenGL 編程(8)文字、FPS、動畫

一、提要 今天的學習內容是在OpenGL的窗口中顯示文字,實現FPS的顯示,還有OpenGL中動畫的實現。 二、HelloWorld 關於位圖文字的顯示,nehe的教程只在windows下實現了,而相關了Linux下的實現也需

原创 Qt下的OpenGL 編程(11)Qt實例hellogl代碼解析

一、提要     還記得我們在第一篇教程中運行的例子嗎?那是那個可以到處轉的大Q,今天我們就來分析一下這個Qt自帶的OpenGL例子。      二、文件結構 如上圖,項目中共有三個類. glwidget:opengl的渲染

原创 Qt QVariant類

      這個類型相當於是Java裏面的Object,它把絕大多數Qt提供的數據類型都封裝起來,起到一個數據類型“擦除”的作用。比如我們的 table單元格可以是string,也可以是int,也可以是一個顏色值,那麼這麼多類型怎麼返回呢

原创 Qt下的OpenGL 編程(9)3D視圖變換、旋轉的地球

一、提要 視圖變換是3D圖形中的一個很重要的概念,需要一些抽象的思維去理解。說完概念之後我們會寫一個自旋轉的地球的例子來幫助理解。 二、照相機比喻 在《OpenGL Programming Guide 》中將所有的3

原创 Qt下的OpenGL 編程(5)光照和紋理濾波

一、提要 今天在網上看到一個消息,芬蘭IT服務公司Digia Oyj稱,公司將會出資400萬歐元購買諾基亞旗下QT軟件業務 芬蘭IT服務公司Digia Oyj稱,公司將會出資400萬歐元購買諾基亞旗下QT軟件業務。