PDA

View Full Version : برنامه نویسی در لینوکس



shirzad_info
دوشنبه 07 مرداد 1387, 00:15 صبح
سلام
من میخوام تو لینوکس ( اوبونتو ) به c++ برنامه نویسی کنم
برای gui میخوام از gtk استفاده بکنم . که اینطور که من متوجه شدم برای c++ , gtkmm هست
حالا هر کاری میکنم نمیتونم نصب و ازش استفاده کنم .
یکی از دوستان گفتن که اینا رو نصب کنم
build-essentials - libgtk2.0-dev - libglib2.0-dev - libglibmm-2.4-dev - libgtkmm-2.4-dev
نصب کردم ولی error میده
ببینید من الان 1 هفته هست که دنبال این موضوع هستم ولی نتیجه ای نمیگیرم
من میخوام بدونم چطوری از gtk یا همون gtkmm در c++ استفاده کنم . همین !
به چه بسته هایی نیاز دارم و اون بسته ها رو چطوری نصب کنم و چطوری تو برنامه فراخوانی کنم و...
در حالت کلی من برای برنامه نویسی با c++ و gtk چیکار باید بکنم ؟
یه مثال بزنین با c++ و gtkmm که یه ‍نجره برام درست کنه و helloo world رو بنویسه
ممنون میشم کمکم کنید !

Seyyed ali
سه شنبه 08 مرداد 1387, 15:36 عصر
از synaptic یا apt-get استفاده کن
همچنین به این سایت هم یه سری بزن
http://www.ubuntu.ir

ravanfar
دوشنبه 14 مرداد 1387, 08:22 صبح
سلام
به تاپیک زیربرو:
http://barnamenevis.org/forum/showthread.php?t=112507

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

========================================
من توانستم GCC رانصب کنم ضمن تشکر از دوستان برای آگاهی سایر خوانندگان روش آنرا ذکر میکنم:
فرضیات:
سیستم عامل: Linux نسخه: Debian ویرایش: Xandros بر روی یک دستگاه Eee pc 4G
روش کار:
1- پس از راه اندازی سیستم Ctrl+Alt+T را گرفته به shell بروید
2- -sudo su را تایپ کنید enter نمائید (poweruser شوید)
3- به سایت: http://www.debian.org/mirror/mirror_full (http://www.debian.org/mirror/mirror_full) رفته و یکی را انتخاب کنید.
4- مثلا اگر هنگ کنگ را انتخاب کنیدکد زیر را در اعلان shell وارد کنید:
edit /etc/apt/sources.list deb <ftp://ftp.hk.debian.org/debian> stable main contrib non-free
5- کد زیر را وارد کرده enter بزنید:
apt-get update
6- کد زیر را وارد کرده enter بزنید:
apt-get install build-essential
7- با زدن Ctrl+D از حالت Poweruser خارج شوید.
آزمایش:
1- برنامه معروف Hello word را نوشته در فایلی مانند: Hello.C ذخیره کرده و در خط فرمان shell دستور زیر را وارد کرده enter را بزنید:
gcc hello.c; ./a.out
یا دستور زیر:
g++ hello.c; ./a.out
=======================================

بعدش هم از anjuta که یک IDE مناسب است استفاده میکنم:
http://www.anjuta.org/
از دستور زیر درحالت power user برای نصبش استفاده کن:
apt-get install anjuta

sang9111
شنبه 19 بهمن 1387, 11:14 صبح
پیشنهاد می کنم حالا که می خوای این کار و بکنی یک تحقیقی برای QT بکنی کتابخانه های منسجم تری داره و محیط GUI قشنگتری فراهم می کنه و راحت تر در سکوهای مختلف اجرا می شه و طبق تجربه شخصی خودم سرعتشم زیاد تر
انتخاب با شماست :چشمک:

__ziXet__
جمعه 25 بهمن 1387, 00:26 صبح
پیشنهاد می کنم حالا که می خوای این کار و بکنی یک تحقیقی برای QT بکنی کتابخانه های منسجم تری داره و محیط GUI قشنگتری فراهم می کنه و راحت تر در سکوهای مختلف اجرا می شه و طبق تجربه شخصی خودم سرعتشم زیاد تر
انتخاب با شماست :چشمک:
من تقریبا همه رو امتحان کردم.
به نظرم کدنویسی تو QT یکمی سخته ! یعنی اگه سورس دوتا برنامه مشابه رو ببینی که یکی با gtk هست و دیگری با qt، برنامه gtk به مراتب خوانا تر از QT هست.
همنطور که گفتم من اکثر gui رو امتحان کردم و بینشون wx و gtk رو پسندیدم

البته این نظر منه

خوشحال میشم نظر شما رو هم بدونم دراین باره

sang9111
شنبه 26 بهمن 1387, 17:06 عصر
این حرف شما رو قبول دارم آره خوانا تره
wxWidget که اصلا با Qt قابل مقایسه نیست کتابخانه ای به مراتب کوچکتره و اصلا از لحاظ امکانت و گستردگی با Qt قابل مقایسه نیست یعنی آدم وقتی با Qt کار می کنه از شدت امکانات مختلف یه خورده گیج میشه سرعت توسعه اش که من یکی کم میارم در هر نسخه اش کلی به حجمش اضافه میشه خیلی زیاد البته این یه حسنه
اما gtk کلا پایه اش با c است و کمتر از اصول شی گرایی بهره برده برای همین خوانایی یه خورده بیشتره مثل هر کد c و c++ دیگری
آره منم اول که می خواستم یاد بگیرم دیدم gtk راحتره ولی آینده QT رو نداره در حال حاضر بهترین و با امکاناترین Qt است و رو دستش نیست گوگل و چند شرکت معتبر دیگه دارن ازQt استفاده می کنن کروم با همین Qt نوشته شده webkit فکر می کنم همین دلایل کافی:چشمک:

mahzrb@gmail.com
سه شنبه 16 تیر 1388, 19:13 عصر
همه کاربران سلام

اگر دوستان در مورد gtk اطلاعات دارند لطفا بگویید که چگونه می توان اسکریپت های شل (مثلا sudo dpkg -i ****.deb )را با کد های gtk اجرا کرد

ilius.gnu
چهارشنبه 24 تیر 1388, 10:18 صبح
GTKmm خوانایی و شیءگرایی‌ش خیلی بیشتر از GTK هست و خیلی راحت‌تره.

mahzrb@gmail.com
جمعه 02 مرداد 1388, 07:25 صبح
سلام
تشکر می کنم ازاین که پاسخ دادید

من می خوام یک پنجره که رمز عبور کاربر root رو بگیره و وارد کاربر روت بشه البته با ظاهر گرافیکی زیر
http://upload.iranblog.com/6/1247180850.gif
من ظاهر گرافیکی رو ساختم فقط مشکلم اینه که(به زبان ساده بگویم) چه کدی بنویسم که ابتدا عبارت sudo -s -H تایپ کرد کلید اینتر را بزند ودر مقابل عبارت password عبارت تایپ شده در پنجره ( http://upload.iranblog.com/6/1247180850.gif ) قرار داده واینتر را بزند:متفکر:
البته عبارات زیر را در راهنماهای gtk که با بسته ی libgtk*doc نصب شده پیدا کردم ولی نمی دانم چطور باید استفاده کرد



کد:
gnome_password_dialog_get_type (void);
GtkWidget* gnome_password_dialog_new (const char *dialog_title,
const char *message,
const char *username,
const char *password,
gboolean readonly_username);

gboolean gnome_password_dialog_run_and_block (GnomePasswordDialog *password_dialog);

/* Attribute mutators */
void gnome_password_dialog_set_show_username (GnomePasswordDialog *password_dialog,
gboolean show);
void gnome_password_dialog_set_show_domain (GnomePasswordDialog *password_dialog,
gboolean show);
void gnome_password_dialog_set_show_password (GnomePasswordDialog *password_dialog,
gboolean show);
void gnome_password_dialog_set_username (GnomePasswordDialog *password_dialog,
const char *username);
void gnome_password_dialog_set_domain (GnomePasswordDialog *password_dialog,
const char *domain);
void gnome_password_dialog_set_password (GnomePasswordDialog *password_dialog,
const char *password);
void gnome_password_dialog_set_readonly_username (GnomePasswordDialog *password_dialog,
gboolean readonly);
void gnome_password_dialog_set_readonly_domain (GnomePasswordDialog *password_dialog,
gboolean readonly);

void gnome_password_dialog_set_show_remember (GnomePasswordDialog *password_dialog,
gboolean show_remember);
void gnome_password_dialog_set_remember (GnomePasswordDialog *password_dialog,
GnomePasswordDialogRemember remember);
GnomePasswordDialogRemember gnome_password_dialog_get_remember (GnomePasswordDialog *password_dialog);
void gnome_password_dialog_set_show_userpass_buttons (GnomePasswordDialog *password_dialog,
gboolean show_userpass_buttons);

/* Attribute accessors */
char * gnome_password_dialog_get_username (GnomePasswordDialog *password_dialog);
char * gnome_password_dialog_get_domain (GnomePasswordDialog *password_dialog);
char * gnome_password_dialog_get_password (GnomePasswordDialog *password_dialog);

gboolean gnome_password_dialog_anon_selected (GnomePasswordDialog *password_dialog);

وهمچنین
void e_passwords_init (void);

void e_passwords_shutdown (void);
void e_passwords_cancel(void);
void e_passwords_set_online(int state);
void e_passwords_remember_password (const char *component, const char *key);
void e_passwords_add_password (const char *key, const char *passwd);
char *e_passwords_get_password (const char *component, const char *key);
void e_passwords_forget_password (const char *component, const char *key);
void e_passwords_forget_passwords (void);
void e_passwords_clear_passwords (const char *component);

و در این صفحات یک مثال وجود دارد
http://gobby.0x539.de/trac/browser/src/passworddialog.cpp?rev=538eb0791fff0fe096872a736ce 883fafcf485b3

http://www.tinymail.org/trac/tinymail/browser/trunk/libtinymailui-gtk/tny-gtk-password-dialog.c?rev=2825