-یک نمونه خوب نوشته شده با کیوت- ازمایش بیلبو

امروز بیلبو رو نصب کردم و برای ازمایشش دارم این پستو میزنم!

فوق العاده ست.

برا کسانی که احیانا با این نرم افزار اشنا نیستن توصیه میکنم حتما یه سر به سایتش بزنن. این نرم افزار یکی از نرم های ساخته شده توسط کیوت QT هست همچنین نویسنده هاش هم ایرانی هستن که اقای مومنی همون جناب mtux هستش که در این چند وقته در زمینه کیوت خیلی بهم کمک کردن.

ان شاالله که همیشه موفق و پیروز باشن

همچنین این نرم افزار اپن سورسه و میتونید سورسش رو دریافت و درسهای بزرگی ازش بگیرید ! و حتی در تکمیلش کمک کنید.

اموزش Qt قسمت هفتم : کار با Qt Creator

یکی از دوستانم این اموزش ها رو خونده بود و وقتی ازش نظرشو پرسیدم گفت : فرید خیلی خوبو جالبه اما اگه ادم بخواد یه برنامه بزرگ بنویسه اینطوری دخلش میاد!
منم گفتم بابا اینطوری نیس که ، این کارو کردیم تا یه بار با روال کلی اشنا شیم و در مرحله بعد با کلاسای کیوت باید اشنا شیم تا بدونیم چه ابزارهایی رو در اختیار داریم و اما در مورد برنامه بزرگ درست کردن هم باید بگم خیلی راحت با IDE های موجود که در قسمت اول معرفی کردم  مبشه برنامه رو ساخت.
برای همین معادل همون برنامه ای رو که در شیش قسمت اول ساختم با صرف یک ربع وقت با IDE قدرتمند Qt Creator میسازیم تا ببینیم چقدر سادس!
خوب این اموزش بیشتر تصویریه تا نوشتاری و فقط جاهایی که احساس کردم احتیاج داره توضیح دادم.

از منوی file گزینه new :

ادامه خواندن اموزش Qt قسمت هفتم : کار با Qt Creator

اموزش Qt قسمت ششم

خوب بلاخره به قسمت پایانی اشنایی با کیوت رسیدیم!

در این قسمت از این سری اموزش ها ما برنامه ای رو که در پنج قسمت قبل درست کردیم رو تکمیل میکنیم و کاری میکنیم تا وقتی کاربر روی دکمه برناممون کلیک کرد متن برچسبمون عوض شه و با پایان این قسمت ما در مجموع این شش قسمت با کلیت یک برنامه ساده کیوت اشنا شدیم .

و از این به بعد نمونه های اموزشی کیوت رو خیلی راحتتر میفهمیم و اگه کمی پایه باشید! میتونید با کمی تلاش برنامه های ساده ای بنویسید.

خوب یکی از ویژگی هایی که کیوت رو نسبت به بقیه متفاوت کرده راهکار اون برای تعامل با رخدادهایی که در برنامه رخ میده!

ادامه خواندن اموزش Qt قسمت ششم

اموزش Qt قسمت پنجم

بعد از یه مدت طولانی تونستم قسمت بعدی اموزشو اماده کنم !
لت اون هم دو چیزه :
یکی در گیر بودن در طراحی چند سایت
و دیگری که مهمترشه اینه که پروژه به جایی رسید که اگه پیش نیازشو رعایت نمیکردیم به مشکل میخوردیم
پیش نیاز کار با Qt هم اشنایی نسبتا خوب به مباحثی هم چون اشاره گر ها و مهم تر از اون مبحث شییء گرایی هست که متاسفانه من در هر دوی این موارد تازه کار بحساب میام و در دانشگاهمون هم هیچ کدوم از موارد فوق رو یاد ندادن ! (اینجاس که میفهمی کم فروشی فقط برای بقال سر کوچه نیس!)
خوب اگه شما مثل من هستین دو پیشنهاد دارم :
اگه میتونید کتاب اموزش سی پلاس پلاس Deitel رو تهیه کنید که گر چه زبان اصله ولی مثل تمام کتابهای Deitel کامله کامله و استاد من در Qt جناب mtux هم این رو پیشنهاد میکنند.
و یا اگه مثل من فعلا امکانشو ندارین و کارت اینترنتتونم تموم شده ! کتاب درس و کنکور سریع سی پلاس پلاس اقای مقسمی از انتشارات گسترش علوم پایه رو توسیه میکنم چون تا حد امکان فشرده و در عین حال جامع هست!(خیلی باهاش حال کردم)
خوب بریم سراغ کار !
ادامه خواندن اموزش Qt قسمت پنجم

اموزش Qt قسمت چهارم

خوب به لطف خدا پس از برخورد با چند تا مشکل وحل اونها قسمت چهارم اموزش هم اماده شد.
توجه : قبل از خوندن مقاله زیر به این نکته اشاره میکنم که این نوشته ها برداشت های شخصی خودم هست و ممکن هست از نظر فنی توضیحاتم درست نباشه!
در این قسمت ما برناممون رو که تا قسمت قبل پنجرشو ساختیم و تنظیمش کردیم کاملتر میکنیم و بهش یه سری کنترل اضافه میکنیم و بعد اون کنترل ها رو در لایه میزایم تا نظمشون حفظ شه!

اما سوال اول اینه که کنترل چیه؟
کنترل ها اجزای قابل تعریف برای استفاده در برنامه های گرافیکی هستند به تعبیر ساده تر اجزایی که ما در برنامه هامون میبینیم مثل دکمه ها و منو ها و … کنترل محسوب میشه!
یکی از خوبی های کیوت هم داشتن تعداد وسیعی از کنترل هاست که به راحتی با ترکیب این کنترل ها میتونیم برناممون رو بسازیم .
نکته : در دنیای کیوت به کنترل ، widget (ابزارک) میگن!
ما در این برنامه از دو نوع کنترل یکی برچسب یا Label و دومی دکمه یا Button استفاده میکنیم.
خوب مثل هر چیز دیگه ای برای استفاده از اینها باید اول کتابخانه مربوطشون رو در برنامه درج کنیم.

اموزش QT جلسه سوم

خوب امروز میخوام برنامه قبلی رو کمی کاملتر کنم و مقداری از خصوصیاتشو تنظیم کنم !
برنامه قبلی رو به این صورت بازنویسی میکنیم:

#include <QApplication>

#include <QDesktopWidget>

#include <QWidget>

#include <QIcon>

int main(int argc, char *argv[])

{

int WIDTH = 250;

int HEIGHT = 150;

int screenWidth;

int screenHeight;

int x, y;

QApplication app(argc, argv);

QWidget window;

QDesktopWidget *desktop =
QApplication::desktop();

screenWidth = desktop->width();

screenHeight = desktop->height();

x = (screenWidth – WIDTH) / 2;

y = (screenHeight – HEIGHT) / 2;

window.resize(WIDTH, HEIGHT);

window.move( x, y );

window.setWindowTitle(“Center”);

window.setToolTip(“Center
window”);

window.setWindowIcon(QIcon(“icon.jpg”));

window.show();

return app.exec();

}

#include <QdesktopWidget>

توسط این کتابخانه ما به مقادیر خصوصیات دسکتاپمان دسترسی پیدا میکنیم! در این مثال برای فهمیدم طول و عرض مانیتور!

#include
<QIcon>

برای اینکه بتوانیم به برنامه خودمون یک icon بدیم باید این کتابخونه رو استفاده کنیم.

int
WIDTH = 250;

int HEIGHT = 150;

int screenWidth;

int screenHeight;

int x, y;

ادامه خواندن اموزش QT جلسه سوم

اموزش QT جلسه دوم

<!–

خوب در این قسمت میخوام نمونه کدی رو که در قسمت قبل کامپایل و اجرا کردیم بیشتر تشریح کنم:

کدمون اینطوری بود:

#include <QApplication>

#include <QWidget>

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QWidget window;

window.resize(250, 150);

window.setWindowTitle(“Simple example”);

window.show();

return app.exec();

}

#include <QApplication>

#include <Qwidget>

این دو قطعه کد کتابخونه های ضروری برای اجرای برناممون رو در کدمون درج میکنه

QApplication app(argc, argv);

این قطعه کد در تمام برنامه های QT البته بجز کنسولیاش باید باشه و شیع کلی برنامه رو مشخص میکنه

QWidget window;

این قطعه کد ابزارک (Widget) اصلی برناممون رو به اسم window تعریف میکنه.

window.resize(250, 150);

window.setWindowTitle(“Simple example”);

window.show();

کدهای بالا اول ابزارکمون رو ریساز میکنه و عرض و ارتفاشو تنظیم میکنه بعد عنوان ابزارکمون که در اینجا همون پنجره اصلیمون رو تنظیم میکنه و بعد اونو نمایش میده.

return app.exec();

و در اخر توسط این کد حلقه اصلی برنامه شروع میشه.دوستانی که برنامه های c حساس به رویداد نوشتن میدونن که برای اینکه برنامه مدام رخ دادن رویدادها رو چک کنه باید در یک حلقه بی نهایت قرار بدیمش ، من فکر میکنم قطعه کد بالا یه همچین روالی رو شروع میکنه!

ادامه خواندن اموزش QT جلسه دوم

برنامه نویسی مولتی پلتفرم با QT

چند وقتیه که حرکت زنجان لاگ رو شروع کردیم و خیلی مشتاق بودم که در لینوکس تخصصی تر کار کنم.
خیلیا سراغ شبکه در لینوکس میرن و خیلیای دیگه دنبال برنامه نویسی و …
من جزو دسته دومم و خیلی دوست دارم برنامه ای که مینویسم تو همه ی سیستم عامل ها اجرا شه چون موعتقدم در نهایت در بهترین حالت سیستم عامل های تجاری در کنار سیستم عامل های اپن سورس در کنار هم به خوبی و خوشی زندگی خواهند کرد و کسانی برنده اند که برنامه هاشون رو هر دو پلتفرم اجرا شه! ( البته این نظر منه)
خوب در مقام تحقیق میشه گفت چند تا گزینه خوب برای این کار پیدا کردم :

java
c
c++
Python

تمام زبانهای بالا زبانهای خوبی هستن که بسته به شرایط باید استفاده شن اما به نظر خودم زبانی که تا حد ممکن قوی باشه و ساده و در تمام پلتفرم ها یکسان باشه و کتابهای فارسی زیادی داشته باشه و استادشم گیر بیاد java بوده و سعیم کردم که یه کلاس بزارم ولی فعلا بچه های زیادی اعلام امادگی نکردن!
خود من مقداری باهاش کار کردم و شاید تنها بدیشو این بدونم که کاربر قبل از استفاده از برنامه جاوای شما JVM رو باید نصب کنه و این برای کاربران عادی جامعه ما یه نمه سخته!
البته چیزای دیگه مثل سرعت کمتر برنامه های جاوا نسبت به دیگران و … هست که برا من مهم نبوده!
و اما شایددر گزینه بعدی زبان نام اشنای c و c++ باشه اما خوب برای ایجاد برنامه های اپلیکیشن اگر فقط از اینا بخواهیم استفاده کنیم بابامون در میاد چون برا هر چیزی باید کد بنویسیم برای همین ،قالب های کاری (framework) برای این زبان ها ساخته شدن که کارها رو خیلی ساده تر کردن ، در تحقیقاتم به سه موردشون بر خوردم:

و باز هم باید بر اساس شرایط و نیازتون یکی رو انتخاب کنید که با یه خورده گوگل کردن نام های بالا اطاعات زیادی رو راجبشون پیدا کنید و انتخابتون رو اگاهانه انجام بدین.
به هزارو یه دلیل شخصی من qt رو انتخاب کردم و سعی دارم هر چیزیو که یاد میگیرم اینجا هم بنویسم!

ادامه خواندن برنامه نویسی مولتی پلتفرم با QT