PDA

View Full Version : سوال: ساخت کنترل یا کامپوننت در کیوت؟



complexcoding
یک شنبه 30 مهر 1391, 03:58 صبح
دوستان سلام
ساخت کنترل و کامپوننت در کیوت به چه گونه هست؟ مثلا من دکمه ای می خواهم که در وسطش یک lineEdit باشه یا یک کنترل سفارشی برای ارتباط با پایگاه داده می خواهم؟
ممنون

rubiks.kde
یک شنبه 30 مهر 1391, 09:38 صبح
اگه میخوایی که این کامپوننت به designer هم اضافه بشه مثل بقیه چیزهایی که توی designer وجود داره تنها لازمه یه پروژه از نوعcustom widget designer که توی خود پروژه های Qt هست ایجاد کنی و شروع به طراحی اون کنی و از اون داخی designer هم استفاده کنی (در واقل یک پلاگین برای designer بنویسی) لینک های زیر در این باره مفیده یه نگاه بنداز :

http://qt-project.org/doc/qt-4.8/designer-creating-custom-widgets.html
http://qt-project.org/doc/qt-4.8/designer-customwidgetplugin.html

اگه هم این کار رو نمیخوایی بشین دستی یه کلاس درست کن مثلا به اسم mywidget اونو طراحی کن بعد هر جا خواستی ازش استفاده کن با این تفاوت که دیگه توی designer نداریش (ولی اصل هر دو یکیه)

complexcoding
یک شنبه 30 مهر 1391, 11:13 صبح
اگه میخوایی که این کامپوننت به designer هم اضافه بشه مثل بقیه چیزهایی که توی designer وجود داره تنها لازمه یه پروژه از نوعcustom widget designer که توی خود پروژه های Qt هست ایجاد کنی و شروع به طراحی اون کنی و از اون داخی designer هم استفاده کنی (در واقل یک پلاگین برای designer بنویسی) لینک های زیر در این باره مفیده یه نگاه بنداز :

http://qt-project.org/doc/qt-4.8/designer-creating-custom-widgets.html
http://qt-project.org/doc/qt-4.8/designer-customwidgetplugin.html

اگه هم این کار رو نمیخوایی بشین دستی یه کلاس درست کن مثلا به اسم mywidget اونو طراحی کن بعد هر جا خواستی ازش استفاده کن با این تفاوت که دیگه توی designer نداریش (ولی اصل هر دو یکیه)
من منظورتو از اینکه در دیزاینر نداریم متوجه نشدم؟ یعنی اینکه فقط از طریق cpp. و کدنویسی در این فایل ها می شه کنترل مورد نظر رو در خروجی دید؟ و در روش اول چونکه بصری شروع به طراحی می کنیم می تونیم کنترل رو در دیزاینر هم داشته باشیم؟ :بوس:

rubiks.kde
یک شنبه 30 مهر 1391, 13:48 عصر
من منظورتو از اینکه در دیزاینر نداریم متوجه نشدم؟یعنی اینکه فقط از طریق cpp. و کدنویسی در این فایل ها می شه کنترل مورد نظر رو در خروجی دید؟

بله منظورم اینه که اگه هدفت یه ویجت خاصه یک کلاس مینویسی (مثلا از QPushButton ارث میبره ) بعد ویژگی های خودت رو به اون اضافه میکنی حالا اگه بخوایی از این ویجت خودت استفاده کنی باید به صورت کدنویسی یک شی بسازی و ادامه ماجرا رو بری .
ولی یک روش دیگه هم هست برای این که کسی که میخواد از designer برای طراحی استفاده کنه و این ویجتشم بین اون ویجت های پیش فرض باشه یه پلاگین مینویسه که در واقع اون کارهای کد نویسی برای استفاده از شی رو خودش انجام بده مثل بقیه ویجت های دیگه که هست.


در روش اول چونکه بصری شروع به طراحی می کنیم می تونیم کنترل رو در دیزاینر هم داشته باشیم؟ :بوس:آره اگه پلاگین رو بنویسی ویجت شما هم بین ویجت های designer قرار میگیره