Apr 14, 2009

Qt Frameworks [ phần 1 ] - Giới thiệu

Qt Frameworks là một môi trường phát triển ứng dụng C++ đa nền có tiếng từ lâu và rất nổi tiếng. Qt hỗ chợ nhiều những ngôn ngữ lập trình như Python, pascal, ruby...
Tài liệu về Qt có rất nhiều cũng sự hỗ chợ trực tuyến từ sản phẩm này cũng không thiếu ở trên mạng. Hiện nay Qt đang là dang opensource một nửa. Tức là Qt trên unix (họ linux) thì opensource, còn đối với phiên bản sử dụng trên windows thì đã có phiên bản phát hành business.

Mọi thông tin tham khảo thêm bạn có thể kiếm được từ google đây chỉ là những hướng dẫn cơ bản !

Download : tại đây hoặc xem hướng dẫn cài đặt ở chỗ này (linux)
Tìm hiểu : tại đây
Tài liệu : ở kia

Phiên bản trên windows. Qt khi cài ra có hỗ chợ một trình designer UI (user interface).
Với phiên bản cho unix. Sau khi build (get source và build tham khảo chỗ này này) song bạn cũng có QtDesigner trong thư mục bin/designer

Đặc điểm và cấu hình Qt để sử dụng

Điểm hay ho của Qt theo nhận định của người viết đó là khả năng tách biệt giứa 2 quá trình design user interface và các code controler. Và việc sử dụng file config .pro và .pri một cách mền dẻo khả năng tính hợp một cách linh động vào các IDE khác cũng như quản lý project mạnh mẽ.

Tất cả các project của QT đều được cấu hình và sử dụng thông qua một tool là qmake. Chú qmake này làm việc dựa trên sử chị thị chính sác môi trường đích bởi một exe khác với biến môi trường là mkspecs sẽ chỉ thị chính sác việc đọc hiểu mà qmake sử dụng trên môi trường nào. Vì thế ở windows bạn phải đưa QMAKESPEC (value: win32-msvc với trường hợp tôi sử dụng trên windows và tính hợp vào VC 6.0) vào biến môi trường và một chỉ thị vào PATH của hệ thống chỉ đến thư mục chứa các exe đạng tools của Qt là C:\Qt\4.3.4\bin và một đường dẫn đến thư mục gốc của Qt trên hệ thống của bạn QTDIR là : C\Qt\4.3.4

Config để sử dụng Qt trên môi trường win32 và VC 6.0
QMAKESPEC value : win32-msvc
QTDIR value : C:\Qt\4.3.4
PATH value : PATH+C:\Qt\4.3.4\bin

Bạn cũng sẽ làm những điều tương tự nếu hệ thống của bạn là unix.
Cần nói thêm là phiên bản Qt mà hiện tại tôi sử dụng là 4.3.4 (hiện tại khi viết bài này phiên bản mới nhất là 4.5 thì phải) Một điều thú vị là Qt có một tool addin vào với Visual Studio v6.0 sử dụng nó để mở và quản lý các project bằng Qt cũng rất hiệu quả (không nhất thiết cần đến cái này)

Sử dung QtDesign
run : ... 4.3.4\bin\designer. Đối với windows nó sẽ nằm trong program của bạn. bạn chạy trực tiếp để sử dụng.
Sau khi tạo giao diện - vẽ vời đủ thứ .... bạn sẽ lưu file design lại với tên mở rộng là .ui OK bây giờ bạn đã có giao diện, nếu bạn mở file .ui này ra xem bạn sẽ thấy chúng là một lô những cấu trúc phức tạp của xml. Giờ bạn cần sử dụng qua một tool khác của Qt đó uic để parse cái đám xml trong file .ui của bạn thành các class mà C++ có thể đọc và hiểu được.

Qt\4.3.4\bin\uic -o test.h test.ui

Kết thúc lệnh cái bạn nhận được chính là file .h từ cái giao diện mà bạn vừa design. tham khảo thêm về uic ở đây nè

Thực hiện QT
OK vậy là đã có giao diện chúng ta bắt đầu code thôi !

thực thi cái giao diện mà bạn vừa mới vẽ vời ra
//class: CTest
// File : CTest.h
#include "test.h"
class CTest : public Ui_Test
{
public:
CTest()
{
setupUi(this);
}

virtual ~CTest(){}

}

//==================================
// main
#include
#include "CTest.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
CTest test;
test.show();
return app.exec();
}
Chú ý:
Để biên dịch thành công bạn phải sure là đã config project đúng và chúng tham chiếu đến các heard cũng như các libs cần thiết
Để chạy ứng dụng yêu cầu phải có các file cơ bản của Qt là qtcore.dll, qtgui.dll ...

ứng dụng QT


Tham khảo
/=======================================
// File : .pro
DEPENDPATH += .
INCLUDEPATH += .
TARGET = MyQtProject
QT = core gui
TEMPLATE = app
include(test.pri)

/=======================================
// File .pri
SOURCES = main.cpp \
HEADERS = ctest.h \ test.h
FORMS = test.ui

OK bây giờ bạn đã có thể làm việc với QT ngon lành. hi vọng bài viết cung cấp cho bạn đủ những điều có bản nhất để có thể cấu hình và làm việc ngon lành với QT.


.../....

3 comments:

  1. Cảm ơn bài viết của bạn.
    Tuy nhiên còn một vài lỗi chính tả.
    Đề nghị bạn kiểm tra và cập nhật lại.
    Ví dụ
    làm việc dựa trên sử chị thị chính sác
    =>
    làm việc dựa trện sự chỉ thị chính xác

    v.v..

    ReplyDelete
  2. Qt chứ không phải là QT (Quick Time)
    Bài viết của anh hay lắm, cảm ơn đóng góp của anh cho cộng đồng Qt

    ReplyDelete
  3. Sao bác này viết sai chính tả nhiều thế nhỉ :-?

    ReplyDelete

 
Bạn có thể dùng bài viết của tôi tùy ý bạn nhưng vui lòng ghi lại rõ nguồn cung cấp
The world in a click_
Copyright © 2008 linhdkl