STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ
    Nội dung
    0
    0
    Chia sẻ

    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.
    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++.

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo 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 - 2021