PDA

View Full Version : سوال: سوالات مبتدیانه در مورد نمایش دیالوگ ui



man4toman
یک شنبه 26 خرداد 1387, 20:10 عصر
سلام
امروز رفتم با قسمت دیزاینر Qt کار کنم.
یک فرم و یک دکمه روش ایجاد کردم و با پسوند .ui ذخیره کردم.
بعد بکمک uic اونو تبدیل به .h کردم.
به فرض میخوام یک مسیج باکس رو با زدن روی دکمه نمایش بدم.
بقیه ی مراحل چجوریه؟
اونجور که فهمیدم باید این فایل اینکلود بشه ولی مراحل و چگونگی رو بلد نیستم.
یه جا دیدم همین فایل رو اینکلود میکرد یه جای دیگه ui_فایل ui رو اینکلود میکرد.موندم داخلش!
با کدهای Qt کار کردم و اولین باره از دیزاینر استفاده کردم.

با تشکر

sang9111
یک شنبه 26 خرداد 1387, 22:51 عصر
دوست من این مسائل چیز عمومی هست و اگه ما توضیح بدیم ممکنه اون انتقال مطلب رو نداشته باشم من پیشنهاد می کنم کتاب رفرنس رو بخونید اگه مشکلی برخورد کردین حتما جواب خواهیم داد موفق باشید فقط مراحل رو دقیقا طبق کتاب انجام بدید

man4toman
دوشنبه 27 خرداد 1387, 10:08 صبح
سلام
اسم کتابی که بعنوان رفرنس در نظرشماست چیه؟؟
کتابی که من میخوندم فقط ازز روی کد توضیح می داد.
در ضمن اگه بتونین یه پروژه مثل چیزی که من گفتم رو اینجا بزارین خودم بقیه ش رو می فهمم.
با تشکر

sang9111
دوشنبه 27 خرداد 1387, 12:16 عصر
اولین کتابی که شاید خوندیش و همه می خونن C++ GUI Programming with Qt 4 که هر qt کاری اون می خونه و کتابا ی دیگه هم می تونی بخونی و اما مثال می تونی از سایت www.qt-apps.org که برنامه هایی که با qt open source نوشته شد رو داره و می تونی source codesho دانلود کنی که خیلی کمک می کنه

Nima_NF
دوشنبه 27 خرداد 1387, 18:51 عصر
هر وقت در مورد خاصی به مشکل برخورد کردید ابتدا به کتاب آن مراجعه کنید و سپس از اسناد خود Qt با نام Qt Assistant (همراه پکیج آن) استفاده کنید که شامل مثال های کامل و جامع در هر زمینه ای هست.

و حالا توضیحاتی در مورد استفاد فایل های ui

1) وقتی دیالوگی طراحی می کنید دقت کنید که برای تمامی کنترل ها برای خاصیت ObjectName حتما نام مناسبی قرار دهید تا از ان ها برای فراخوانی استفاده کنید. مخصوصا برای خود دیالوگ شما، مثلا در مثال زیر نام آن را dlg1 گذاشتم.
در پایان نیز آن را با نام دلخواه مثلا همان dlg.ui ذخیره کنید.

2) سپس در همان فولدر برنامه ای بنویسید که دیالوگ را فراخوانی کند:



#include <QApplication>
#include <QDialog>
#include "ui_dlg.h"

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Ui::dlg1 ui;
QDialog *dialog = new QDialog;
ui.setupUi(dialog);
dialog->show();
return app.exec();
}

- در مثال فوق هدر فایل، اسم فایل (dlg) به علاوه _ui هست. (dlg.ui)
- در خط دوم کد ها نیز dlg1 نام objectName هست که در طراحی قرار داده بودیم.

3) نیازی به فراخوانی uic نیست، چرا که اگر از qmake استفاده می کنید خودش در هنگام ساخت فایل اجرایی uic را فراخوانی می کند. پس بعد از آن (یعنی qmake -project; qmake sample.pro) پروژه را make release کنید .

4) به صورت خودکار فایل ui_dlg.h ساخته می شود. پس اگر خواستید قابلیتی به ان اضافه کنید باید یک فایل دیگر cpp بسازید و کلاسی از QDialog و Ui::dlg1 به ارث ببرید .

موفق باشید