STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Tạo GUI trong C++ Sử Dụng Qt

    Giới thiệu Qt, hướng dẫn download, cài đặt tích hợp với Visual Studio và trình bày demo cơ bản để sử dụng Qt.

    Kim Uyên

    12/05/2016
    22/09/2020
    4 phút đọc
    Tạo GUI trong C++ Sử Dụng Qt

    Qt là gì?

    Qt là 1 ứng dụng đa nền tảng (phát triển ứng dụng trên các platform khác nhau: Windows, Linux/X11, iOS, Android, ...), 1 framework UI (cho phép tạo ứng dụng với giao diện đồ hoạ). Ứng dụng tạo ra bởi Qt có thể chạy trên desktop, mobile hay trên các hệ thống nhúng.

    Hiện nay, Qt được xây dựng có cả bản thương mại và open source. Qt cho phép tạo giao diện 1 cách đơn giản là kéo thả.

    Qt cho phép hiện thực hàm tạo và xử lý sự kiện bằng C++, và xây dựng nhiều class để hỗ trợ cho việc phát triển ứng dụng với giao diện đồ hoạ.

    Với bản release mới nhất của Qt, có thể add-in vào Visual Studio.

    Download và cài đặt

    Download

    Qt

    Qt có các phiên bản tương thích với các hệ điều hành khác nhau:

    Hoặc truy cập địa chỉ https://www.qt.io/download-qt-installer, trang web sẽ tự động lựa chọn phiên bản thích hợp cho hệ điều hành máy của bạn.

    Visual Studio Add-in for Qt

    Truy cập địa chỉ https://download.qt.io/official_releases/vsaddin/ để tải về phiên bản Visual Studio Add-in for Qt mới nhất.

    Visual Studio Add-in phiên bản 2.5.2

    Cài đặt

    Thực hiện cài đặt 2 file trên sau khi download.

    Đối với Qt, cài đặt tại thư mục: C:\Qt

    Đối với Qt Add-in, cài đặt tại thư mục: C:\Program Files (x86)\Digia

    Thiết lập môi trường

    Vào menu Start, tìm đến "Edit Eviroment variables for your account": thêm đường dẫn đến thư mục bin của Qt vào variables PATH. Nếu chưa có variables PATH, có thể New để thêm.

    ss_1

    Khởi động Visual Studio, trên thanh công cụ xuất hiện thêm tab mới QT5, vào QT5 → Qt Options → chọn Add Qt version.

    ss_2

    Tạo project Demo

    File → New → Project. Tạo Qt Application project. Như hình dưới.

    ss_3

    Sau khi tạo project. Build chương trình để tự động tạo các file mặc định. Quan tâm tới 1 số file như sau:

    ss_4
    • stdio_demo_qt.ui: hỗ trợ thiết kế giao diện trực quan.
    ss_5
    • ui_stdio_demo_qt.h: quản lý các đối tượng trên UI (tạo, thiết lập thuộc tính, tạo kết nối sự kiện giữa các QObject).
    • class STDIO_DEMO_QT (stdio_demo_qt.cpp, stdio_demo_qt.h): cho phép tạo ra các function signalsslots để quản lý sự kiện xảy ra đối với các QObject.

    Signals & Slots

    ss_6
    • Signals: hình dung nó như là các hàm kiểm tra sự kiện (click button, changeValue của comboBox, changeText của textBox, ...), Qt đã hỗ trợ sẵn 1 vài hàm kiểm tra sự kiện, tuy nhiên, cũng có thể tự định nghĩa tuỳ vào yêu cầu của project.
    • Slots: các hàm để xử lý sự kiện tương ứng với sự kiện được kích hoạt.

    Chỉ có các lớp là lớp con kế thừa từ QObject mới có thể chứa Signals và Slots, đồng thời, các lớp này phải chứa từ khoá Q_OBJECT nằm ở đầu của khai báo lớp.

    Để liên kết các SignalsSlots với nhau, cần phải thiết lập kết nối giữa các đối tượng thông qua function QObject::connect().

    Khai báo, định nghĩa các hàm signals và Slots:

    /*
    * @File: stdio_demo_qt.h
    */
    // Trong phần khai báo của subClasses QObject 
    signals:
    // function for check event
    // example: void clickPushButton();
    // Tuy nhiên, trong project này sử dụng function click() mặc định của Qt.
    public slots:
    	void showMessage()
    	{
    		QMessageBox::StandardButton reply;
    		reply = QMessageBox::question(this, "Exit", "Are you sure you want to quit?", QMessageBox::Yes | QMessageBox::No);
    
    		if (reply == QMessageBox::Yes)
    			QApplication::quit();
    	}

    Thực hiện kết nối:

    /*
    * @File: stdio_demo_qt.cpp
    */ 
    // Được gọi trong hàm khởi tạo của STDIO_DEMO_QTClass
    // connect Button with MainWindow 
    QObject::connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(showMessage()));

    Chạy ứng dụng không cài đặt Qt

    Để thực thi chương trình trên 1 máy tính không cài đặt Qt, thư mục chứa file thực thi phải đi kèm với các file .dll (chứa trong C:\Qt\Qt5.5.0\5.5\msvc2013\bin) và folder platform (chứa trong C:\Qt\Qt5.5.0\5.5\msvc2013\plugins) của Qt. Xem hình dưới.

    ss_7

    Kết quả chạy chương trình:

    ss_8

    Download demo tại đây: STDIO_DEMO_QT

    0 Bình luận
    Modern C++

    Modern C++

    STDIO Training - Đào Tạo Lập Trình C++.

    Đề xuất

    Sử Dụng Mảng Trong C++
    Tìm hiểu những kiến thức cơ bản về mảng dữ liệu và cách sử dụng mảng ...
    29/07/2015
    Interface Trong C#
    Giới thiệu về interface trong C#, ý nghĩa sử dụng, tính ứng dụng và cách ...

    Khám phá

    Các Phương Thức Khởi Tạo Đối Tượng trong C++
    Giới thiệu và hướng dẫn sử dụng 3 phương pháp khởi tạo đối tượng với ...
    15/09/2014
    Thao Tác với XML Sử Dụng TinyXML trong C++
    Hướng dẫn thao tác với XML sử dụng TinyXML trong C++.
    9 Tính Năng Quan Trọng Trong C++11
    C++11 là một phiên bản cải tiến và nâng cấp từ C++98 (hay các bạn vẫn ...
    13/08/2015
    Hướng Dẫn Sử Dụng RapidJSON để Xử Lý JSON trong C++
    Khái niệm về định dạng JSON và cách sử dụng RapidJSON để thao tác với ...
    Làm Việc với Máy In trong C#
    Hướng dẫn cơ bản sử dụng C# ra lệnh in thông qua Driver của máy in.
    Lọc Gaussian - Giao Diện Đơn Giản: Qt + OpenCV
    Hiện thuật giải thuật làm mờ ảnh với hàm gaussian bằng ngôn ngữ C++ cùng ...
    Lập Trình Win32 API - Phần 3: Tạo Và Sử Dụng Resource
    Resource - tài nguyên là một sức mạnh lớn trong việc lập trình bao gồm ...
    Đọc Ghi File Cơ Bản Trong C#
    Hướng dẫn đọc và ghi file cơ bản sử dụng đối tượng File trong C#. Nhờ có ...
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020