amir_saniyan
چهارشنبه 12 تیر 1387, 12:35 عصر
سلام
توی پیوند زیر یک راهنمای خوب برای کار با QT Designer وجود داره:
http://www.pylearn.com/fa/wiki/index.php/Qt
اما در زمانی که دارم این متن رو مینویسم دقیقا مهمترین قسمت و بخش پایانی این راهنما یعنی نحوه همگردانی (کامپایل) پنجره ایجاد شده هنوز کامل نشده.
حالا سوال من اینه که ما چطور از پنجره ایجاد شده تو کدهامون استفاده کنیم؟
نکته 1: حتی تو منابع انگلیسی و راهنمای خود QT Designer هم چیزی پیدا نکردم.
نکته 2: تنها چیزی که از روی مثالها فهمیدم اینه که بعد از ساخت پنجره باید از تو QT Designer بیام بیرون (که این خیلی بده)، بعد اگه مثلا اسم پنجرهمون Amir.ui هست، باید توی کد اصلیمون ui_Amir.h رو include کنیم. بعد تازه باید یک رده (کلاس) مثل AmirForm بسازیم که این رده (کلاس) از UI::Amir و QMainWindow ارث ببره. (کد زیر)
class AmirForm : public QMainWindow, UI::Amir
{
public: AmirForm(){setupUI(this);}
public: ~AmirForm(){}
};
حالا تازه باید main رو بسازیم و برای نمایش از رده (کلاس) AmirForm استفاده کنیم:
AmirForm amirForm;
amirForm.show();
حالا روشم درست بود یا نه؟ :لبخند:
نکته 3: کلی وقت گذاشتم تا این روش رو کشف کردم :قهقهه: و بعدش وقتی اولین پنجره رو به کمک QT Designer با موفقیت ساختم (یک پنجره با گزینگان (منوهای) فارسی با یک دکمه وسطش) اینقدر اعصابم خورد بود که چرا این قدر بد مستند شده که کلا پروژهام رو پاک کردم. (شاید هم من درست نگشتم). حالا ممکنه کدهای بالا (که از حفظ نوشتم) توش خطا هم باشه ولی روندش همینی است که میبینید.
نکته4: واقعا حالا میفهمم چرا مایکروسافت اینقدر موفقه! چون فقط برنامهنویس نداره. احتمالا کلی هم تایپیست داره که شبانه روز دارند تایپ میکنند و کلی راهنما و مستندات رو در اختیار مشتریهاش میگذاره.
سپاس
توی پیوند زیر یک راهنمای خوب برای کار با QT Designer وجود داره:
http://www.pylearn.com/fa/wiki/index.php/Qt
اما در زمانی که دارم این متن رو مینویسم دقیقا مهمترین قسمت و بخش پایانی این راهنما یعنی نحوه همگردانی (کامپایل) پنجره ایجاد شده هنوز کامل نشده.
حالا سوال من اینه که ما چطور از پنجره ایجاد شده تو کدهامون استفاده کنیم؟
نکته 1: حتی تو منابع انگلیسی و راهنمای خود QT Designer هم چیزی پیدا نکردم.
نکته 2: تنها چیزی که از روی مثالها فهمیدم اینه که بعد از ساخت پنجره باید از تو QT Designer بیام بیرون (که این خیلی بده)، بعد اگه مثلا اسم پنجرهمون Amir.ui هست، باید توی کد اصلیمون ui_Amir.h رو include کنیم. بعد تازه باید یک رده (کلاس) مثل AmirForm بسازیم که این رده (کلاس) از UI::Amir و QMainWindow ارث ببره. (کد زیر)
class AmirForm : public QMainWindow, UI::Amir
{
public: AmirForm(){setupUI(this);}
public: ~AmirForm(){}
};
حالا تازه باید main رو بسازیم و برای نمایش از رده (کلاس) AmirForm استفاده کنیم:
AmirForm amirForm;
amirForm.show();
حالا روشم درست بود یا نه؟ :لبخند:
نکته 3: کلی وقت گذاشتم تا این روش رو کشف کردم :قهقهه: و بعدش وقتی اولین پنجره رو به کمک QT Designer با موفقیت ساختم (یک پنجره با گزینگان (منوهای) فارسی با یک دکمه وسطش) اینقدر اعصابم خورد بود که چرا این قدر بد مستند شده که کلا پروژهام رو پاک کردم. (شاید هم من درست نگشتم). حالا ممکنه کدهای بالا (که از حفظ نوشتم) توش خطا هم باشه ولی روندش همینی است که میبینید.
نکته4: واقعا حالا میفهمم چرا مایکروسافت اینقدر موفقه! چون فقط برنامهنویس نداره. احتمالا کلی هم تایپیست داره که شبانه روز دارند تایپ میکنند و کلی راهنما و مستندات رو در اختیار مشتریهاش میگذاره.
سپاس