منوهای نصب در پنل مدیریت

Qt قسمت هفتم SIGNAL و SLOT در UI

با سلام خدمت کاربران سایت امیدوارم حالتون خوب باشه . با قسمت هفتم از سری اموزش های Qt در خدمتتون هستم . در این قسمت می خواهم در مورد signal و  slot در محیط گرافیکی باهاتون صحبت کنم  در کیوت مکانیزم سیگنال و سلات بسیار مهمه و برای ارتباط دادن obj  ها به یکدیگر و یا حتی Thread ها استفاذده میشه پس یادگیری این مبحث بسیار مهمه در این قسمت در مورد چگونگی ارتباط دادن جند ویجت به هم صحبت می کنیم

ارتباط دادن ویجت ها به هم از دو روش گرافیکی و کد نویسی انجام میشه که بسیار ساده هستند

برای شروع یک پروژه ی جدید ایجاد کنید 

 

qt37

و مانند شکل بالا ویجت ها ی زیر را در ان قرار دهید

  1. Horizontal Slider
  2. Progress Bar
  3. LCD Number
  • فراموش نکنید که از layout  برای طراحی ui  استفاده کنید

و بعد از tool bar گزینه ی  edit signals and slot  رو انتخاب کنید

 

Qt23

و slider را انتخاب و به داخل progress bar بکشید تا چنجره ی زیر ظاهر شود

 

 

qt38

 

و گزینه های مشخص شده را انتخاب کنید

این بدین معنی است که هرگاه مقدار slider تغییر کرد ان را در progress bar قرار بده

همین کار رو برای slider و lcd number تکرار می کنیم

qt39

 

با تغییر مقدار slider  مقدار جدید را در lcd number  نمایش بده

qt40

 

 

2 روش دوم کد نویسی است که برای اعمال ان باید کد زیر را در constructor  بنویسیم 

 

  connect(ui->horizontalSlider,SIGNAL(valueChanged(int)),ui->progressBar,SLOT(setValue(int)));
    connect(ui->horizontalSlider,SIGNAL(valueChanged(int)),ui->lcdNumber,SLOT(display(int)));

با کد های بالا می توان ویجت هارا به هم مرتبط کرد

به نکات زیر توجه کنیذ

  • برای ایجاد signal slot  از تابع connect استفاده می شود
  • برای قطع ارتباط signal slot  از تابع disconnect با پارامتر ها ی مشابه connect استفاده می شود
  • دقت کنید که نوع پارامتر های signal و slot یک نوع باشد مثلا هر دو int

qt41

qt42

امید وارم این قسمت از آموزش برای شما مفید باشه

 

1 پاسخ در "Qt قسمت هفتم SIGNAL و SLOT در UI"

  1. مرسی از زحماتتون عالی بود

ارسال یک پیغام

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

 

2017 © تمامي حقوق مطالب سايت Developersian محفوظ و همچنین استفاده از مطالب سایت با ذکر منبع بلامانع است.
X