آموزش محیط Qt – QPushButton – سیگنالها و اسلاتها - وب سایت رضا احمدی

Qpushbutton

آموزش محیط Qt – QPushButton – سیگنالها و اسلاتها

هر کلید از کلاس QPushButton  دارای سیگنال هایی به شرح زیر هستند که اگر بر روی هر کلید راست کلیک کرده و گزینه go to slot  را انتخاب کنیم  پنجره زیر را مشاهده میکنیم .

برای این برنامه یک پروژه جدید با نام MRZX_ir  ایجاد کنید و نام کلاس اصلی آن را zxMain  بگذارید .سه کلید به فرم طراحی اصلی آن اضافه کنید و اسم آن ها را btn_1 , btn_2 , btn_3  بگذارید.

آموزش محیط Qt - QPushButton - سیگنالها و اسلاتها
QPushButton – سیگنالها و اسلاتها

در محیط Qt  هر رویدادی که اتفاق بیقتد را اصلاحا یک Signal  می گوید و هر عملیاتی که در پاسخ به آن سینگنال انجام می شود را یک Slot  میگوییم.

پر کاربردترین سیگنال در کلید ها همان سیگنالی است که میگویند کاربر بروی کلید کلیک کرده است .اگر در پنجره باز شده گزینه clicked()  را انتخاب کنم.

به کلاس   zxMain  خطوط زیر اضافه شده است.که نشان دهنده یک متد خصوصی  جدید به نام on_btn_1_clicked می باشد.

private slots:

    void on_btn_1_clicked();

و در فایل zxMain.cpp  آن متد را پیاده سازی میکنیم.برای مثال در اینجا یک پیغام نمایش میدهیم.

Qpushbutton
Qpushbutton

zxMain.h

  1. #ifndef ZXMAIN_H
  2. #define ZXMAIN_H
  3.  
  4. #include <QMainWindow>
  5.  
  6. namespace Ui {
  7. class zxMain;
  8. }
  9.  
  10. class zxMain : public QMainWindow
  11. {
  12.     Q_OBJECT
  13.  
  14. public:
  15.     explicit zxMain(QWidget *parent = 0);
  16.     ~zxMain();
  17.  
  18. private slots:
  19.     void on_btn_1_clicked();
  20.  
  21. private:
  22.     Ui::zxMain *ui;
  23. };
  24.  
  25. #endif // ZXMAIN_H

zxMain.cpp

  1. #include "zxmain.h"
  2. #include "ui_zxmain.h"
  3. #include <QMessageBox>
  4.  
  5. zxMain::zxMain(QWidget *parent) :
  6.     QMainWindow(parent),
  7.     ui(new Ui::zxMain)
  8. {
  9.     ui->setupUi(this);
  10. }
  11.  
  12. zxMain::~zxMain()
  13. {
  14.     delete ui;
  15. }
  16.  
  17. void zxMain::on_btn_1_clicked()
  18. {
  19.     QMessageBox::information(this,"mrzx.ir","شما بر روی کلید یک کلیک کردید.");
  20.  
  21. }

نکته : جهت استفاده از نسخه سی پلاس پلاس ۱۱ کد زیر را در فایل MRZX_ir.pro اضافه میکنیم.

CONFIG   += c++11

استفاده از نسخه سی پلاس پلاس 11 در محیط Qt Creator
استفاده از نسخه سی پلاس پلاس ۱۱ در محیط Qt Creator

ادامه دارد …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دیدگاه های ثبت شده

تا کنون دیدگاهی ثبت نشده است.