-->

網頁

顯示具有 Qt 標籤的文章。 顯示所有文章
顯示具有 Qt 標籤的文章。 顯示所有文章

2012/04/28

在 Ubuntu 手動安裝 Qt SDK

以前一向都是從套件庫直接安裝 Qt SDK:
aptitude install qt-sdk

今天 checkout 別人的 project 出來編譯時,發現套件庫中的 Qt lib 版本有點舊 (好像是 4.6 吧),乾脆直接去 Qt 官網抓檔安裝來裝。

裝好後無意間發現 OpenGL 的範例程式編譯時都會出錯,弄了半天原來是從套件庫安裝時會自動把 OpenGL lib 裝上去,但是官網的安裝檔不會處理相依性問題。所以要自己手動補:
aptitude install libgl1-mesa-dev libglu1-mesa-dev libglut3-dev 

urDiary 0.1.0

說了幾百年,總算幫 urDiary 加上搜尋功能了。

Changelog :

  • 搜尋功能
  • 修正單引號儲存時發生的錯誤


載點:
https://github.com/downloads/johnroyer/urDiary/UrDiary-0.1.0-win32.7z


2012/04/07

qmake to cmake


以 Qt Creator 預設的 GUI Appplication 為例:
zero@zero-desktop:~/dev$ tree example/
example/
|-- example.pro
|-- main.cpp
|-- mainwindow.cpp
|-- mainwindow.h
`-- mainwindow.ui

建立 CMakeLists.txt,先寫入最常用到的幾個設定:
project( example )
cmake_minimum_required(VERSION 2.6)

set( SRC main.cpp mainwindow.cpp )
set( HEADER mainwindow.h )

讓 cmake 先載入 Qt 會用到參數:
find_package( Qt4 REQUIRED )

加入 Qt 函式庫位置:
include( ${QT_USE_FILE} )
add_definitions( ${QT_DEFINITIONS} )

因為 Qt 在編譯前會先透過 moc、uic 等對程式做處理,將 SIGNAL/SLOT、ui 轉成程式碼再做編譯。Cmake 透過 wrapper 做設定:
set( FORM mainwindow.ui )

qt4_wrap_cpp( HEADER_MOC ${HEADER} )
qt4_wrap_ui( FORM_HEADER ${FORM} )

如果專案中有使用到 qrc 檔,則需加入:
qt4_add_resources( RESOURCES_RCC resource.qrc )

有時編譯位置與程式碼放置位置不同,編譯器會讀不到 moc 轉出來的程式碼,所以要將編譯位置加入:
include_directories( ${CMAKE_CURRENT_BINARY_DIR} )

最後,編譯設定:
add_executable( exe ${SRC} ${HEADER_MOC} ${FORM_HEADER} )
target_link_libraries( exe ${QT_LIBRARIES} )

2011/06/25

FlickrLinker 擷取照片網址工具



Flickr 網站提供使用者存放自己的照片,但免費帳號僅能檢視最新的 200 張照片。

FlickrLinker 工具可以讀取網頁內容並將照片的獨立網址紀錄下來,當照片超過 200 張以後,可以透過留下來的連結連到照片的獨立頁面,以後變不需擔心找不到舊照片的網頁連結。

打開 FlickrLinker 後輸入使用者 Photo Stream 網址,如「http://www.flickr.com/photos/johnroyer/」,程式便會自動讀取網頁內容並將照片獨立頁面網址顯示於文字方塊中。

另外程式會自動判斷是否有「下一頁」,有的話會自動翻頁直到所有照片連結讀取完畢,若付費帳號顯示頁數過多,程式會不中斷直到頁面讀取完畢,執行中仍然可以複製網頁連結,跳出請點選試穿關閉按鈕。

下載:請至程式下載頁面

2011/04/24

使用 qrc 為執行檔加上圖示 (for Windows)

Qt 編譯出的執行檔預設沒有圖示,可以透過設定檔方式修改執行檔所要使用的圖示。

新增一個 qrc 檔案:
IDI_ICON1 ICON DISCARDABLE "myApp.ico"

myApp.ico 可以設定成自己要使用的圖示,不過只支援 ico 檔案類型。建立完畢後打開 Qt 專案檔 (*.pro) 加入一行參數:
RC_FILE += app.qrc

重新編譯專案以後應該可以看到執行檔鑲上 ico 圖示。

這個方法只有在 windows 上可行,在 Ubuntu 底下編譯後仍然沒效。上述所建立的 qrc 文件不是官方所使用以 XML 方式撰寫的文件,官方教學文件也沒有提到這個作法,搞不太清楚為什麼?

參考資料:
怎样设置QT生成exe文件的ico图标呀? - Qt中文论坛
http://www.qtcn.org/bbs/read.php?tid=18001

2011/02/26

urDiary

urDiary 是為了「晨間日記」撰寫的小工具。

2011/02/08

Qt with QSqlDatabase

程式中有使用到 QSqlDatabase 函式庫,標頭檔也正確引入,編譯時若出現錯誤訊息:
error: QSqlDatabase: No such file or directory

表示 *.pro 設定檔尚未設定 SQL 支援,參考程式範例加入設定:
QT += core gui sql

2011/01/27

qtcore4.dll 找不到「_Z5qFreePv」進入點

使用 Qt Creator 編譯後,執行檔會找不到動態函式庫。二種解法,一種是設定系統環境參數 (PATH),一種是將函式庫複製到執行檔目錄當中。

原本是將 Qt\2010.05\bin\qtcore4.dll 複製到執行檔的目錄下,執行時會出現找不到「_Z5qFreePv」進入點的訊息,後來才知道 Qt 有二個 bin 的目錄,且二個動態函式庫的大小也不一樣,需要複製的是 Qt\2010.05\qt\bin 底下的檔案。


參考資料:QT编译后release下无法执行,找不到dll输入点
http://blog.163.com/modingfa_002/blog/static/11092546620103291173056/