intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình hệ nhúng: Chương 6 - Phạm Ngọc Hưng

Chia sẻ: ảnh ảo | Ngày: | Loại File: PDF | Số trang:27

132
lượt xem
15
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Lập trình hệ nhúng - Chương 6: Lập trình nền tảng QT" trình bày các kiến thức giúp sinh viên nắm được các vấn đề cơ bản, đặc trưng của nền tảng Qt; cài đặt Qt Creator (Qt SDK) trên máy phát triển (Ubuntu); làm quen với lập trình ứng dụng giao diện đồ họa sử dụng nền tảng Qt; cài đặt Qt Everywhere để phát triển ứng dụng cho nền tảng Arm Embedded Linux. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hệ nhúng: Chương 6 - Phạm Ngọc Hưng

  1. Bài số 6 Lập trình nền tảng QT Lập trình nhúng ARM-Linux 162
  2. Mục tiêu bài học số 6  Sau khi kết thúc b{i học n{y, sinh viên có thể • Nắm được c|c vấn đề cơ bản, đặc trưng của nền tảng Qt • C{i đặt Qt Creator (Qt SDK) trên m|y ph|t triển (Ubuntu) • L{m quen với lập trình ứng dụng giao diện đồ họa sử dụng nền tảng Qt • C{i đặt Qt Everywhere để ph|t triển ứng dụng cho nền tảng Arm Embedded Linux Lập trình nhúng ARM-Linux 163
  3. Nội dung bài học 6.1. Giới thiệu QT 6.2. C{i đặt môi trường ph|t triển Qt 6.3. L{m quen với lập trình QT 6.4. C{i đặt Qt Everywhere (Qt Embedded) Lập trình nhúng ARM-Linux 164
  4. 6.1. Giới thiệu Qt  Qt Development Frameworks được s|ng lập năm 1994 bởi TrollTech  2008: TrollTech s|p nhập v{o Nokia  Qt l{ một Framework ph|t triển ứng dụng đa nền tảng (desktop, mobile, embedded).  Hỗ trợ c|c nền tảng: Windows, Linux, Embedded Linux, Win CE, Symbian, Maemo… Lập trình nhúng ARM-Linux 165
  5. Giới thiệu QT  Qt cho phép viết ứng dụng một lần v{ biên dịch chéo trên nhiều nền tảng hệ điều h{nh khác nhau mà không phải viết lại m~. Tuy nhiên, m~ nguồn cần được biên dịch trên nền tảng m{ muốn ứng dụng được thực thi.  Lập trình Qt theo chuẩn C++. Lập trình nhúng ARM-Linux 166
  6. Giới thiệu QT  Qt Framework bao gồm: • a cross-platform class library (Thư viện c|c lớp hướng đối tượng) • integrated development tools (C|c công cụ ph|t triển tích hợp) • a cross-platform IDE. (Môi trường ph|t triển ứng dụng)  Tham khảo: qt.nokia.com; qtcentre.org Lập trình nhúng ARM-Linux 167
  7. QT được sử dụng rộng rãi Lập trình nhúng ARM-Linux 168
  8. Kiến trúc Qt Lập trình nhúng ARM-Linux 169
  9. 6.2. Cài đặt Qt SDK  C{i đặt Qt SDK trên m|y ph|t triển (Linux, Windows, MacOS)  File c{i đặt qt-sdk-linux-x86-opensource-2010.05.1.bin (http://qt.nokia.com/downloads)  Thực thi file c{i đặt: $ ./qt-sdk-linux-x86-opensource-2010.05.1.bin  Đợi qu| trình c{i đặt diễn ra th{nh công, mặc định thư mục c{i đặt chứa tại $HOME/qtsdk-2010.01/qt/bin Lập trình nhúng ARM-Linux 170
  10. Cài đặt Qt SDK  Sau khi c{i đặt xong Qt SDK, công cụ Qt Creator cho phép ph|t triển ứng dụng với lựa chọn mặc định biên dịch trên m|y tính Linux. Để biên dịch chéo ứng dụng thực thi trên KIT FriendlyArm (Embedded Linux) cần c{i đặt Qt Everywhere Lập trình nhúng ARM-Linux 171
  11. 6.3. Làm quen với lập trình QT  Sử dụng môi trường ph|t triển Qt Creator (IDE)  Chương trình HelloQt  Cơ chế Signals/Slot  Quản lý layout Lập trình nhúng ARM-Linux 172
  12. Môi trường phát triển Qt Creator IDE Lập trình nhúng ARM-Linux 173
  13. Các thành phần Qt Creator Lập trình nhúng ARM-Linux 174
  14. Các điều khiển (widgets) cơ bản  QLabel  QPushButton  QLineEdit  QTextEdit  QSpinBox  QComboBox  Qslider  V.v… Lập trình nhúng ARM-Linux 175
  15. Chương trình HelloQt  Tạo project HelloQt  Trong file main.c bổ sung đoạn m~:  Biên dịch, chạy chương trình: #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello Qt!"); label->show(); return app.exec(); } Lập trình nhúng ARM-Linux 176
  16. Chương trình HelloQt  Giải thích ?  Sửa đoạn m~ với HTML style #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); //QLabel *label = new QLabel("Hello Qt!"); QLabel *label = new QLabel("Hello " "Qt!"); label->show(); return app.exec(); } Lập trình nhúng ARM-Linux 177
  17. Cơ chế signals - slot  Cơ chế event – handler  Xử lý c|c sự kiện (sự kiện tương t|c người dùng, sự kiện của hệ thống)  Cho phép tạo c|c kết nối (connections) giữa sự kiện (signals) với h{m xử lý (slot)  Có 2 c|ch tạo: • Tạo tự động (wizard) • Tạo bằng tay (manual, hand-code) Lập trình nhúng ARM-Linux 178
  18. Minh họa cơ chế signals/slot  Tạo bằng code (dùng phương thức Qobject::connect) Lập trình nhúng ARM-Linux 179
  19. Minh họa cơ chế Signals/Slot  Tạo bằng code connect(sender, SIGNAL(signal), receiver, SLOT(slot));  Trong đó: sender, receiver l{ con trỏ Qobjects, signal v{ slot l{ c|c tên h{m không có tham số. • Các macro SIGNAL() và SLOT() biến đổi tham số thành string. VD: đồng bộ giữa 2 điều khiển slider v{ spinBox Lập trình nhúng ARM-Linux 180
  20. Minh họa cơ chế Signals/Slot  Tạo tự động (wizard): chuột phải v{o đối tượng muốn xử lý sự kiện, chọn Go to slot, tìm slot l{ h{m xử lý sự kiện tương ứng muốn dùng.  Ví dụ xử lý sự kiện nút bấm (QPushButton) Lập trình nhúng ARM-Linux 181
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2