کیوتی ساده و آسان برای همه

خبر های ساین بیتی

نویسنده :سعید دادخواه
تاریخ:شنبه 12 آذر 1390-11:02 ق.ظ

سلام

شروع آموزش ARM در وبسایت www.signbit.ir

شروع آموزش طراحی وبسایت با php, html5, ... در سایت www.signbit.ir

آموزش های کودا و بازی Peggle nights آپدیت شد.




نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

بازی peggle night با کیوتی

نویسنده :سعید دادخواه
تاریخ:یکشنبه 6 آذر 1390-02:55 ق.ظ

سلام دوستای عزیز

آموزش مرحله به مرحله ساخت بازی peggle nights با استفاده از کیوتی در وبساتم www.signbit.ir شروع شد. حتما باهاش جلو بیاید.

موفق باشید



نوع مطلب : Box2D  عمومی 

داغ کن - کلوب دات کام
نظرات() 

اخبار ساین بیت

نویسنده :سعید دادخواه
تاریخ:شنبه 5 آذر 1390-03:57 ب.ظ

شروع آموزش برنامه نویسی موازی با استفاده از CUDA در سایت www.signbit.ir


ورود



نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

Events in Qt- Part C - Event Filtering

نویسنده :سعید دادخواه
تاریخ:یکشنبه 13 شهریور 1390-04:54 ب.ظ

موضوع : Events in Qt Part C - Event Filtering
مثال عملی : یه ویدجت با سه لاین ادیت در داخل اون که فشردن کلید space در اونا باعث انتقال Focus به لاین ادیت بعدی میشه .

یکی از ویژگی های بارز و مهم کیوتی اینه که شما میتونید یه شی از جنس [1] QObject رو مامور کنید پیام های یه QObject دیگه رو بگیره، حتی بدون اینکه اون کسی که پیام ها مالش بود متوجه بشه . بذارید توضیح بدم. فرض کنید شما می خواهید یه QLineEdit بسازید (منظورم اینه که ازش ارث ببرید و بعدش یه سری چیز بهش اضافه کنید) که وقتی روش کلیک شد یه کاری انجام بشه . همون طور که میدونید QLineEdit سیگنالی به نام clicked نداره بلکه برای انجام این کار باید mousePressEvent این QLineEdit جدیدمون رو ....

دانلود فایل pdf و فایل های پروژه این قسمت از اینجا



نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

Events in Qt Part B

نویسنده :سعید دادخواه
تاریخ:جمعه 11 شهریور 1390-12:36 ق.ظ

 مدیریت پیام ها ( رخدادها ) Events - قسمت دوم


    در این قسمت پیام paintEvent گفته خواهد شد که یکی از رخداد های مهم است . در ضمن در این قسمت یه لاین ادیتی خواهیم ساخت که یه تصویر روش میاد و با کلیک شدن اون تصویر ( ضربدر ) متن داخلش پاک خواهد شد . ( مثلا فیلترها توی Designer ) . چون این قسمت خیلی کد داشت به صورت pdf در آوردم
    برای دانلود اینجا را کلیک کنید.



نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

عبارات با قاعده قسمت دوم

نویسنده :سعید دادخواه
تاریخ:دوشنبه 20 تیر 1390-09:59 ب.ظ

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

در ضمن ممنون از نظراتتون:

حسن
دوشنبه 20 تیر 1390 05:50 ب.ظ
خیلی ممنون
خیلی عالی بود و دستتون درد نکنه
منتظر ادامش هستیم
 
تایگر
دوشنبه 13 تیر 1390 08:06 ب.ظ
آقا ممنون . ادامه داشته باشه
 
حسین
دوشنبه 13 تیر 1390 08:06 ب.ظ
عالیه
 
مهسا
دوشنبه 13 تیر 1390 08:06 ب.ظ
خیلی جالب بود. مخصوصا نحوه آموزش و کشیدن شکل ها بر روی فیلم
 
مرتضی
شنبه 18 تیر 1390 10:53 ق.ظ
سعید آقای عزیز سلام ممنونم که زحمت کشیدی و جواب سوالم رو دادی . من کیو تی رو نصب کرده و مشکلی ندارم . مشکل من درباره چگونگی شروع به کار با کیوتی
مثلا یه برنامه ساده دفتر تلفن رو در نظر بگیر .
مراحل شروع طراحی و کد نویسی و اجرا کردنش رو می خوام یاد بگیرم اگر منبع یا کتابی ترجیها فارسی هست به من معرفی کن ممنونم که وقت می زاری
جواب : ممنون از اظهار لطفتون . ببین آقا مرتضی توی Qt Demo که همراه کیوتی نصب میشه میتونی یه Tutorial در باره ساخت یه دفترچه تلفن پیداکنی که واسه شروع خیلی خوبه . در ضمن مطالب قدیمی این وبلاگ هم به دردت میخوره .


نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

بازی پرندگان عصبی با کیوتی

نویسنده :سعید دادخواه
تاریخ:شنبه 11 تیر 1390-04:12 ب.ظ

 

سلام . بازی زیر با استفاده از کیوتی نوشته شده که میتونید ببینیدش



نوع مطلب : Box2D  عمومی 

داغ کن - کلوب دات کام
نظرات() 

فیلم های سمینار کیو ام ال دانشگاه صنعتی اصفهان

نویسنده :سعید دادخواه
تاریخ:دوشنبه 23 خرداد 1390-12:32 ق.ظ

سلام

قسمت اول از سری قسمت های سمینار کیو ام ال دانشگاه صنعتی را با سختی و زجر فراوان :( آپلود کردم . ولی این آپارات کیفیت ویدیو رو کم میکنه متاسفانه . و توی یوتیوب هم که نمیتونیم آپ کنیم چون فیل هستن ایشون. ولی خوب فعلا همین رو داشته باشید تا بعد . قسمت های بعدی به مرور زمان گذاشته خواهد شد.

البته برای اینکه بتونم آپلود کنم هر بخشی رو تازه سه بخش چهار بخش کردم تا بشه آپلود کرد . اصن یه وضعی بودا !

بخش اول و بقیه بخش ها در یوتیوب در ادامه مطلب هستند.


ادامه مطلب

نوع مطلب : QML  عمومی 

داغ کن - کلوب دات کام
نظرات() 

سمینار کیو ام ال دانشگاه صنعتی اصفهان

نویسنده :سعید دادخواه
تاریخ:جمعه 6 خرداد 1390-11:19 ق.ظ

سلام

سمیناری در مورد کیو ام ال در تاریخ پنجشنبه 5 خرداد در دانشگاه صنعتی اصفهان برگزار شد که میتونید تصاویرشو از آدرس زیر ببینید

http://www.facebook.com/media/set/?set=a.122486317834615.30397.100002197413083&l=b654a0b2e3



نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

QML چیست

نویسنده :سعید دادخواه
تاریخ:دوشنبه 16 اسفند 1389-09:11 ق.ظ

سلام دوستان عزیزم

QML چیست ؟

نمیدونم شما هم مثل من هستید یا نه . از چه نظر ؟ از این نظر که برنامه ای که طراحی میکنید سعی کنید واسط کاربری خشگلی داشته باشه . چون اکثر کاربرا بیشتر از اینی که به هسته برنامه توجه کنند به زیبایی برنامه توجه میکنن . خوب طراحی واسط های کاربری با استفاده از widget ها در کیوتی اگرچه که نیاز هایی رو رفع میکنه ولی انعطاف پذیری کمی داره . یعنی  اینکه اگه شما بخواهید محیطتون یکم انیمیشن داشته باشه خیلی باید تلاش کنید.

خوب اینجاست که وجود یک وسیله برای طراحی واسط کاربری ( User interface ) به شدت نیاز میشه . QML یا Qt Meta Object Language وسیله برای همین کاره . یعنی اینکه شما با اون به یک آزادی در طراحی واسط های کاربری میرسید . این زبان یه زبان براساس زبان ساده javascript هستش .خیلی ساده و بسیار لذت بخش. خوب من یه pdf ده صفحه ای در موردش ( مقدماتش ) براتون آماده کردم امید وارم خوشتون بیاد

راستی انجمن یادتون نره .

دانلود آموزش QML بخش اول



نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

جواب به نظرات

نویسنده :سعید دادخواه
تاریخ:جمعه 13 اسفند 1389-09:47 ب.ظ

سلام یه مدتی که وبلاگ به دلیل مشغله های درسی خیلی کم به روز میشه واقعا شرمنده همه دوستان هستم ببخشید.

حمید
جمعه 29 بهمن 89 04:24

سلام
افسوس میخورم که چرا وبلاگ هایی مثل شما اینقدر کم هستن
لطفا اگه میشه یه ذره توضیح بدید که این qt برای موبایل چه جوریاست
با تشکر

ممنون از نظرت حمید عزیز . خوب برنامه نویسی موبایل کیوتی هم در ادامه آموزش ها قرار بود بهش برسیم چون فعلا خیلی سرم شلوغه یکم باید صبور باشید ولی حتما این کارو میکنم


 

 

شایان
سلام.آقا آموزش كیوت ،پی دی اف سوم رو نتونستم پیدا كنم .دیگه به صورت پی دی اف آموزش نمیزای؟خوب بودا.
موفق باشی
 
ممنون . چشم سعی میکنم آموزشا به صورت pdf باشه.
 

Alir3z4
دوشنبه 18 بهمن 89 06:02
agahia.com@gmail.com
مرسی از جواب سریع!
فرضا در خط فرمان لینوكس واسه بدست آوردن برنامه های اجرا شده از این دستور استفاده میكنیم
top -u root خب خروجی در همون خط فرمان برگردانده میشه
حالا فك كنم دو راه هست
یكی اینكه مقدار به خط فرمان ارسال كنیم
و یا اینكه بصورت مستقیم با برنامه top ارتباط برقرار كنیم

امیدوارم منظورم رو رسونده باشم
مرسس
 
علی رضای عزیز شما رو که اصلا دیگه روم نمیشه جوابتو بدم شرمنده از این همه تاخیر چشم مثالشو براتون میذارم.


نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

پاسخ به یک سوال

نویسنده :سعید دادخواه
تاریخ:یکشنبه 17 بهمن 1389-07:13 ب.ظ

Alir3z4
 
درود رفیق
در مورد ارتباط كیوت با دیگر برنامه بنویس
مثلا ارسال مقادیر به برنامه های دیگه و گرفتن خروجی !
یه مثال خیلی عالی میشه
مرسی
 
جواب: ببین علیرضا جان برای ارتباط بین برنامه ها میشه از دو راه وارد شد یا اینکه اون برنامه رو اجرا کرد و یک سری ورودی بهش داد و یک سری خروجی ازش گرفت ( البته برنامه های command line ، برنامه های گرافیکی چون platform dependent هستند یعنی هر سیستمی قواعد خودشو داره و از طرفی کیوتی یه فریم ورک مستقل از سکو platform independent هستش در این مورد باید از api های هر سیستمی جدا استفاده کنی ) و یه نوع دیگه هم Ipc هستش (Inter process communication ) کدوم رو نیاز دارین بگین تا براتون مثال بزنم


نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

QMainWindow قسمت سوم

نویسنده :سعید دادخواه
تاریخ:پنجشنبه 30 دی 1389-02:20 ق.ظ

سلام خدمت دوستان عزیز
خوب با مقدمات QMainWindow آشنا شدیم . برای اینکه main window ما دارای منوبار ، تولبار و ... باشه دو راه داریم . یکی استفاده از Qt Designer هستش و دیگری کد نویسی و خوب به طبع کسی که دومی رو بدونه دیگه اولی براش کاری نداره . ما در ادامه قصد داریم با هم ، مرحله به مرحله ، یه ویرایشگر متن خیلی ساده بنویسیم تا از این طریق با قسمت های مختلف یه main window آشنا بشیم .
خوب من یه empty project ساختم (File - > New File Or Project -> Other Project -> Qt empty projet ) به نام QNotePad و بعدش یه فایل main.cpp و یه کلاس QNotePad که از QMainWindow ارث برده بهش اضافه 
کردم.
کد QNotePad.h به صورت زیر خواهد بود

کد:
#ifndef QNOTEPAD_H #define QNOTEPAD_H #include <QMainWindow> class QPlainTextEdit; class QNotePad : public QMainWindow { public: QNotePad(); private: QPlainTextEdit *m_plainTextEdit; }; #endif // QNOTEPAD_H
برای کار با متن های یه خطی از QLineEdit استفاده میکنیم . ولی اگه متن چند خطی شد باید از QTextEdit استفاده بشه . نکته ای که هست اینه که QTextEdit توانایی پذیرش متن های فرمت شده رو داره . یعنی چی یعنی متنی که یه جاش blod شده یا مثلا متنی که رنگ یه جاش با بقیه فرق میکنه . و حتی جالبتر این که شما میتونید یه متنی که با html فرمت شده رو به QTextEdit بدین . اما چون ما میخوایم خیلی ساده کار کنیم از QPlainTextEdit استفاده کردیم که فقط متن های ساده قبول میکنه.

فایل QNotePad.cpp من هم به صورت زیر خواهد بود.
کد:
#include "QNotePad.h" #include <QPlainTextEdit> QNotePad::QNotePad() { setWindowTitle(tr("QNotePad")); m_plainTextEdit = new QPlainTextEdit; setCentralWidget(m_plainTextEdit); }
که مثل مثال قبلیه . فقط من QPlainTextEdit رو به صورت اشاره گری عضو کلاس تعریف کردم تا اگه جای دیگه ای در کلاس بهش نیاز داشتم مشکلی نداشته باشم.( البته از تابع centralWidget هم میشد استفاده کرد!)
خوب تا اینجا که مثل قبل بود ولی خوب ما قصد داریم به این برنامه چندین منو و تولبار و status bar اضافه کنیم که به مرور با هم این کارو انجام میدیم.
فقط من یه پیش زمینه ای بگم و کار رو از جلسه بعدی آغاز میکنیم.
در برنامه نویسی و ایجاد یه main window یه چیزی زیاد به گوش میخوره ( منظورم در کیوتی هستش ) که QAction نام داره . QAction چیه ؟ یه مثال شما وقتی میخواید تلویزیون رو روشن کنید دو تا راه دارید یا از remote control استفاده کنید یا به صورت مستقیم با دکمه ای که روی خود تلویزیون هست. هر دوی اینا یه کارو انجام میدن اونم تلویزیون رو روشن میکنند . حالا در مورد خاموش کردن هم همین طور با این تفاوت که یه راه دیگه هم هست که دوشاخو رو از پریز در بیاریم  یا فیوز رو قطع کنیم  . باز هم همه اینها یه کار رو انجام میدند ، تلویزیون رو خاموش میکنند . توی کیوتی نگاه کنید حالا :‌من میخوام یه فایل متنی رو درون این ویرایش گرم باز کنم چند تا راه دارم : یکی اینکه از منوی فایل گزینه open رو بزنم ، یا اگه توی تولبار ایکنش هست ،‌ایکنش رو بزنم ،‌یا از ctrl+o استفاده کنم . باز هم همه اینها یک کار میکنه . به این یک کار توی کیوتی میگند Action . شما یه Action تعریف میکنید ( مثلا اکشن باز کردن یه فایل )‌و بعد جاهای مختلف ازش استفاده میکنید مثلا توی منو یا تولبار .پس اساس تعریف منو و تولبار در کیوتی QAction هست که بعدا باهاش بیشتر اشنا میشیم.

نوع مطلب : ویدجت های Qt  عمومی 

داغ کن - کلوب دات کام
نظرات() 

برنامه نویسی برای آندروید با کیوتی

نویسنده :سعید دادخواه
تاریخ:سه شنبه 28 دی 1389-08:32 ب.ظ

سلام امروز به مقاله ای برخورد کردم که برام بسیار جالب بود گفتم برای شما هم شاید جالب باشه .

آندروید چیست ؟

آندروید سیستم عاملی برای موبایل هست که در ابتدا توسط شرکتی با همین نام گسترش داده شد و در سال 2005 توسط گوگل خریداری شد . آندروید بر اساس نسخه ای تغییر یافته از کرنل لینوکس گسترش یافته است

اطلاعات بیشتر در ویکی پدیا

 

برنامه نویسی با استفاده از کیوتی برای موبایل هایی که قاعدتا توسط نوکیا تولید شده بسیار لذت بخشه ، این لذت بیشتر خواهد شد وقتی که بدونید برنامه نویسی برای آندروید توسط کیوتی و در واقع ساپرت آندروید توسط کیوتی هم در راهه0 یعنی شما در آینده ای نزدیک میتونید به راحتی برنامه ها تونو که با کیوتی نوشتید با آندروید اجرا کنید.

تصویر مردی که میبینید تصویر Bogdan Vatra است

 که در واقع مغز متفکر و عامل اصلی این انتقال خواهد بود.بهتره با هاش یه مصاحبه داشته باشیم

 

 سوال )چه انگیزه و عاملی باعث شد که شما به فکر این کار بیفتید؟

جواب من عاشق کیوتی هستم و عاشق آندروید ، انگیزه از این بالاتر میخواهید ؟نوکیا پروژه ای به نام LightHouse رو آغاز کرده که این انتقال رو خیلی راحت میکنه...

 

سوال ) شرمنده بابت این سوال احمقانه ولی LightHouse چیه ؟

جواب ) LightHouse  پروژه ای هست که انتقال کیوتی رو آسون میکنه . نکته ای که هست اینه که شما فقط نیازه که یه پلاگین برای انتقال محتویاتتون بر روی صحفه دستگاه درست کنید .

 

سوال ) آیا انتقال شما به صورت کامل انجام شده ؟

من هنوز opengl و بسیاری از توابع مالتی مدیا رو انتقال ندادم . در حال حاضر هم هنوز on-screen keyboard  پشتیبانی نمیشه

 

سوال ) به عنوان یه توسعه دهنده من باید چکار کنم تا بتونم آندروید رو هم پشتیبانی کنم ؟

فایل های انتقال منو دانلود کنید و کامپایل کنید . اما شما هنوز نمیتونید نتیجه کار رو تولید ( release ) کنید چون LightHouse هنوز در مرحله آزمایشه. شما باید صبر کنید تا LightHouse به کیوتی به صورت رسمی اضافه بشه. بعدش نوبت به پروژه من میرسه.

 

سوال ) میتونید زمانشو تقریبا بیان کنید ؟

نه ! این بیشتر به نوکیا بستگی داره تا من !

 

سوال ) با توجه به این که گوگل برای نوکیا یه رقیب حساب میشه ، واکنش نوکیا به این پروژه چی بود ؟

اونا تا همین چند روز پیش اطلاعی از این پروژه نداشتند اما وقتی متوجه شدند خیلی خوشحال شدند .

 

سوال ) خوب ما کجا میتونیم در باره این پروژه بیشتر اطلاعات بدست بیاریم

پروژه توی Google Code هستش که آدرس زیر شما رو به اون میرسونه :

http://code.google.com/p/android-lighthouse/

برداشتی آزاد از مقاله

Qt on Android - the Bogdan Vatra interview


 



نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 

بررسی مقادیر وارد شده توسط کاربر

نویسنده :سعید دادخواه
تاریخ:دوشنبه 27 دی 1389-07:38 ب.ظ

سلام


معمولا ما خیلی از ورودی های مورد نیازمون رو از کاربر میگیریم حالا چه با استفاده از QLienEdit یا بااستفاده از ویدجت های دیگه که برای این کار در نظر گرفته شده است.

نکته ای که هست اینه که ممکنه کاربر مقداری رو وارد بکنه که از دید ما و برنامه ما یه مقدار invalid یا غیر معتبر باشه مثلا توی مثال قبلی اگر کاربر به جای اینکه یه عدد رو وارد بکنه یه سری حروف وارد بکنه مسلما برای ما داده های معتبری نخواهد بود . برای اینکه کاربر رو محدود بکنیم که تنها اون چیزی رو که مد نظرماست ; اون محدوده ای از اعدا د که مد نظر ماست ; اون رشته ای که با الگوی خاصش مدنظر ماست (مثل ایمیل ) رو وارد بکنه در کیوتی از کلاس های Validator استفاده میکنیم . 

QIntValidator:
برای بررسی اینکه ایا مقدار ورودی کاربر یه عدد دهدهی هست از این کلاس و شی ساخته شده از این کلاس استفاده میکنیم . به این صورت که :

QIntValidator* decValidatornew QIntValidator(0, 255, decEdit);
decEdit->setValidator(decValidator);

خوب در سازنده کلاس QIntValidator ما دوتا عدد فرستادیم که اولی مشخص کننده حداقل مقدار مجاز برای داده ای که باید مورد ارزیابی قرار بگیره و دومین عدد حداکثر مقدار مجاز.

سومین متغیر هم تعیین کننده پدر این validator هستش.طبق مطالبی که قبلا گفته شد در این صورت تا مادامی که شی پدر یعنی decEdit که یه QLineEdit هستش زنده هست ارزیاب اون هم یعنی decValidator زنده است. تابع setValidator هم برای تعیین یه validator برای یه QLineEdit هستش . بعد از این مرحله decValidator چشم میدوزه به مقادیر ورودی در decEdit هر موقع مقادیر وارد شده  از شرط ما تخطی کردند مقدار جدید در decEdit وارد نخواهد شد.

QRegExpValidator:

با استفاده از این کلاس و قدرت regular expression ها شما به راحتی میتونید چک کنید ( برای مثال )‌که آیا آدرس ایمیل وارد شده از طرف کاربر مجاز هست; آیا عدد باینری وارد شده توسط کاربر مجاز هست ; آیا عدد هگزای وارد شده توسط کاربر مجاز هست یا نه ; و صد ها مثال دیگه .
اما مفهوم regular expression چیه : regular expressions یا عبارات باقاعده مجموعه قوانینی هستند که با استفاده از اونا شما میتونید الگویی که رشته میتونه داشته باشه رو تعیین کنید . برای مثال ببینید آیا الگوی ایمیل به صورت زیر هست یا نه 

(یک یا بیشتر حرف یا رقم).(یک یا بیشتر حرف یا رقم)@(صفر یا بیشتر حرف یا رقم)(یک حرف)
البته ممکنه برخی قواعد رو من رعایت نکرده باشم ولی میخواستم با مفهوم آشنا بشیم. ما با reg exps این الگو رو تعریف میکنم و فرضا به QLineEdit دستور میدیم تنها براساس این الگو میتونی کاراکتر بگیری ولاغیر .یعنی مثلا حق نداری در ابتدا یه رقم بگیری و ...
البته regular expressions یکم پیچیده هستند و  تسلط بر مبحث عبارات با قاعده زمان میبره که میتونید به
 این آدرس برای یادگیری اونا مراجعه کنید

QRegExpValidator* hexValidator =new QRegExpValidator(QRegExp("[0-9A-Fa-f]{1,2}"), hexEdit);
hexEdit->setValidator(hexValidator);
مثل مثال قبلی ما یه شی از کلاس QRegExpValidator ساختم و در سازنده شی ای از کلاس QRegExp رو براش فرستادیم . چون مبحث regular expression ها بسیار پر کاربرد هستش درکیوتی برای کاربا آنها یک کلاس تعریف شده به نام QRegExp . الگویی که ما قصد داریم مقادیر ورودی بر اساس اونا باشه با سازنده کلاس QRegExp ارسال میشه که در انیجا الگویی برای تشخیص اعداد هگزا دسیمال هستش.
مثلا مفهوم متن الگوی ما در این مثال یعنی اینکه ورودی باید حداقل یک کاراکتر صفر تا نه یا A تا  F  یا a تا f و حداکثر دو کاراکتر با همان ویژگی ها باشه که قابل پذیرش باشه

نه خسته !


نوع مطلب : عمومی 

داغ کن - کلوب دات کام
نظرات() 


  • تعداد صفحات :3
  • 1  
  • 2  
  • 3  
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic