PDA

View Full Version : سوال: نسخه ی تحت دسکتاپ پایتون



ravand
شنبه 28 بهمن 1391, 20:18 عصر
سلام . من تازه با پایتون آشنا شدم
میخواستم بدونم این نسخه ی تحت دسکتاپ پایتون بدرد بخور هست؟ میشه راحت باهاش یه نرم افزار تحت دسکتاپ ساخت؟ یا مثل نسخه ی تحت دسکتاپ php هست و زیاد به درد این کارا نمیخوره؟
من سه ساعته دارم دنبال یه برنامه میگردم که بتونه یه پنجره باز بکنه و یه متنی رو نمایش بده هنوز پیدا نکردم . من اصلا امدم سراغ پایتون چون فکر کردم تحت دسکتاپ هست و درست و حسابی. ولی الان میبینم از این آموزش ها خبری نیست. و فقط آموزش های نسخه ی تحت وبش هست.

kiarashk
شنبه 28 بهمن 1391, 21:37 عصر
سلام . من تازه با پایتون آشنا شدم
میخواستم بدونم این نسخه ی تحت دسکتاپ پایتون بدرد بخور هست؟ میشه راحت باهاش یه نرم افزار تحت دسکتاپ ساخت؟ یا مثل نسخه ی تحت دسکتاپ php هست و زیاد به درد این کارا نمیخوره؟
من سه ساعته دارم دنبال یه برنامه میگردم که بتونه یه پنجره باز بکنه و یه متنی رو نمایش بده هنوز پیدا نکردم . من اصلا امدم سراغ پایتون چون فکر کردم تحت دسکتاپ هست و درست و حسابی. ولی الان میبینم از این آموزش ها خبری نیست. و فقط آموزش های نسخه ی تحت وبش هست.

شما براي اين كه يك پنجره درست كنيد بايد از يك فريم ورك براي اينكار استفاده كنين مثلا كيوت يا gtk يا tkinter الان نرم افزار هاي زيادي هستن كه با پايتون ساخته شدن در اين زمينه مشكلي وجود نداره. كتاب core python رو اگه تهيه كنيد كار با چهار فريم ورك از جمله Qt و GTK و tkinter رو گفته. Tkinter فريم ورك استاندارد خود پايتون هست توي خود داكيومنشن هاي پايتون نسخه ٢.٧ به بالا چيزاي دستگيرتون مي شه ولي ترجيحا اون كتاب رو مطالعه كنيد.
در ضمن تا جايي كه من ميدونم و توي سايت خود پايتون ديدم پايتون يه نسخه داره كه روي دسكتاپ نصب مي شه براي استفاده به عنوان وب سرويس و كار هاي تحت وب يك سري ماژول و فريم ورك هستن كه اضافه بر خود پايتون بايد نصب بشن.

ravand
یک شنبه 29 بهمن 1391, 08:15 صبح
ببینید من یه مثال ساده ازش پیدا کردم ولی مشکل اینه که نگفته چجوری باید برنامه رو اجرا کرد؟
http://www.python-course.eu/tkinter_labels.php
من از notepad++ استفاده میکنم با برنامه ی python-3.3.0 .

from Tkinter import *
# if you are working under Python 3, comment the previous line and comment out the following line
#from tkinter import *

root = Tk()

w = Label(root, text="Hello Tkinter!")
w.pack()

root.mainloop()
متشکرم.

ravand
یک شنبه 29 بهمن 1391, 12:25 عصر
امدم این دستورات رو توی ویرایشگر پایتون خط به خط اجرا کردم یه پنجره برام باز کرد:

from tkinter import *
form1 = Tk()
form1.title('label with function')
form1.geometry('250x50')
ولی وقتی با پسوند .py یا .pyw ذخیره میکنم وقتی اجراش میکنم اجرا نمیشه.
مشکل چیه؟
متشکرم.

Felony
یک شنبه 29 بهمن 1391, 15:05 عصر
خوب طبیعی هست ، به روند اجرای کدها دقت کنید ، پروسه ای که کدها رو داره ترجمه و اجرا میکنه یک Console Application هست ، فرم نمایش داده شده هم توسط همین پروسه ایجاد شده ؛ وقتی اجرای کدها پایان یافت پروسه به صورت خودکار بسته میشه و حافظه تخصیص یافته به اون هم کاملا آزاد میشه ، شما باید پایان یافتن برنامه رو به شرط خاصی وابسته کنید ، مثلا دریافت یک کاراکتر از صفحه کلید :


from tkinter import *
form1 = Tk()
form1.title('label with function')
form1.geometry('250x50')
input()

ravand
یک شنبه 29 بهمن 1391, 16:08 عصر
یه دنیا ممنون مهندس. من از دیروز تا الان داشتم دنبال حل این مشکل می گشتم نه کسی بود کمک کنه نه منبعی پیدا میشد. راستی چرا tkinter آموزش درست و حسابی نداره؟ من گشتم چه نسخه ی فارسی چه انگلیسیش یه نمونه برنامه که کار کنه توی نت نداشت. اگه منبع خوبی سراغ دارید بهم معرفی کنید.
و دیگه اینکه من نمیخوام وقتی برنامه رو اجرا میکنم برنامه ی command prompt هم اجرا بشه. باید چیکار کرد؟
متشکرم.

Felony
دوشنبه 30 بهمن 1391, 06:47 صبح
یه دنیا ممنون مهندس. من از دیروز تا الان داشتم دنبال حل این مشکل می گشتم نه کسی بود کمک کنه نه منبعی پیدا میشد. راستی چرا tkinter آموزش درست و حسابی نداره؟ من گشتم چه نسخه ی فارسی چه انگلیسیش یه نمونه برنامه که کار کنه توی نت نداشت. اگه منبع خوبی سراغ دارید بهم معرفی کنید.

http://www.tutorialspoint.com/python/python_gui_programming.htm
http://www.python-course.eu/python_tkinter.php
http://www.tkdocs.com/tutorial/
http://www.pythonware.com/library/tkinter/introduction/
http://zetcode.com/gui/tkinter/
http://oreilly.com/catalog/pythonwin32/chapter/ch20.html



و دیگه اینکه من نمیخوام وقتی برنامه رو اجرا میکنم برنامه ی command prompt هم اجرا بشه. باید چیکار کرد؟
mainloop رو به صورت زیر صدا بزنید و به جای اینکه فایلتون رو با فرمت py ذخیره کنید با فرمت pyw ذخیره کنید :


from tkinter import *
form1 = Tk()
form1.title('label with function')
form1.geometry('250x50')
form1.mainloop()

ravand
دوشنبه 30 بهمن 1391, 07:40 صبح
خیلی ممنون داداش. تمام دیروز رو دنبال حل این مشکل بودم با وجود سر سختی زیاد داشتم ناامید میشدم
برام سوال شده که چجوری میشه روی این برنامه رمز گذاشت کسی به راحتی نتونه به رمزش دست پیدا کنه؟
و دیگه اینکه این روش یک فریم ورک پایتون هست؟ چی بهش میگن؟ آیا ارزش داره آدم به عنوان یک زبان تحت دسکتاپ ازش استفاده کنه؟ خداییش توی سادگی میتونم بگم تکه. چون مثل خیلی از زبان ها سخت و پیچیده نیست.
بازم متشکرم.

Lin0X,
سه شنبه 01 اسفند 1391, 21:36 عصر
خیلی ممنون داداش. تمام دیروز رو دنبال حل این مشکل بودم با وجود سر سختی زیاد داشتم ناامید میشدم
برام سوال شده که چجوری میشه روی این برنامه رمز گذاشت کسی به راحتی نتونه به رمزش دست پیدا کنه؟
و دیگه اینکه این روش یک فریم ورک پایتون هست؟ چی بهش میگن؟ آیا ارزش داره آدم به عنوان یک زبان تحت دسکتاپ ازش استفاده کنه؟ خداییش توی سادگی میتونم بگم تکه. چون مثل خیلی از زبان ها سخت و پیچیده نیست.
بازم متشکرم.
ساختار python به گونه ای است که کدهای شمار را به ناچار به byte-code (pyc)تبدیل میکند byte code به صورت معمول خواناست اما نمی توان نمایانگر سورس کد اصلی ما در python نمی باشد.البته ابزارهایی وجود دارند که بایت کد ها را به آرایه های C تبدیل می کند همینطور استفاده از ابزارهایی نظیر: py2exe
مطالعه بفرمایید : http://wiki.python.org/moin/Freeze

ravand
چهارشنبه 02 اسفند 1391, 11:24 صبح
این برنامه ی py2exe رو من دانلود کردم ولی برای ورژن 3 پایتون کار نمیکنه.
از طرفی من برخی کدهایی که در مورد tkinter هست روی سایت های آموزشی وقتی تست میکنم کار نمیکنه. دلیلش چیه؟ مشکل ورژنش هست؟

Lin0X,
چهارشنبه 02 اسفند 1391, 14:43 عصر
python پس از ارائه ورژن 3 تغییرات بنیادی و فراوانی را داشته است در صورتی که py2exe برای شما کاربردی نبوده ، میتوانید از CX-Freeze (http://cx-freeze.sourceforge.net/) استفاده نمایید.

ravand
پنج شنبه 03 اسفند 1391, 11:26 صبح
من خیلی از دستورات tkinter رو می نویسم ولی خیلی هاش رومی نویسه تعریف نشده . یعنی ورژن جدید tkinter کلاً فرق کرده؟ کسی آموزش از نسخه ی جدید tkinter سراغ نداره؟ حالا کتاب یا سایت. البته به غیر از این سایت هایی که دوستان معرفی کردن .متشکرم.

kiarashk
پنج شنبه 03 اسفند 1391, 20:14 عصر
من خیلی از دستورات tkinter رو می نویسم ولی خیلی هاش رومی نویسه تعریف نشده . یعنی ورژن جدید tkinter کلاً فرق کرده؟ کسی آموزش از نسخه ی جدید tkinter سراغ نداره؟ حالا کتاب یا سایت. البته به غیر از این سایت هایی که دوستان معرفی کردن .متشکرم.

http://docs.python.org/3.0/library/tkinter.html

ولی چرا از پایتون ۳ استفاده می کنین؟ پایتون ۲.۷ محبوب تره!

ravand
پنج شنبه 03 اسفند 1391, 20:57 عصر
ممنون ولی این سایتم دیدم.

ولی چرا از پایتون ۳ استفاده می کنین؟ پایتون ۲.۷ محبوب تره!
برام عجیبه که شما این حرف رو میزنید! برای چی باید برگردم به یه ورژن عقب تر؟ مگه هر چی ورژن میره بالا امکانات بیشتر نمیشه؟

ASedJavad
جمعه 04 اسفند 1391, 07:03 صبح
سلام

مگه هر چی ورژن میره بالا امکانات بیشتر نمیشه؟

نه الزاما

ورژن 3 پایتون با ورژن 2 ش از لحاظ سینتکس و مسایل دیگه تفاوت های اساسی پیدا کرده.
به همین خاطر کدهای ورژن 2 ممکنه رو ورژن 3 اجرا نشن و برعکس

در ضمن ظاهرا هر دو نسخه همزمان دارن توسعه پیدا میکنن.

علی الحساب توصیه من هم ورژن 2 هست. چرا که گستردگیش بیشتره (هم از لحاظ آموزش و هم از لحاظ کاربرد) اگه شما بخوای برای سیمبین یا آندروید یا ... هم با پایتون برنامه بنویسی، ناچاری از ورژن 2 استفاده کنی.

ravand
جمعه 04 اسفند 1391, 07:57 صبح
عجب زبان عجیب و غریبی. یه جورایی میشه گفت مثل ویژوال بیسیک 6 و دات نت هست . چیزی نیست ما که پایتون 3.3 رو نصب کردیم تا آخرش میریم بعد نسخه ی 2 رو هم یاد میگریم . توی این چند روز کلی ازش چیزی یاد گرفتم فکرم نمیکنم فرق زیادی با هم داشته باشن. چون کدهاش رو دیدم و زیاد فرق نداشتن.
از همتون متشکرم.

kiarashk
جمعه 04 اسفند 1391, 10:37 صبح
ممنون ولی این سایتم دیدم.

برام عجیبه که شما این حرف رو میزنید! برای چی باید برگردم به یه ورژن عقب تر؟ مگه هر چی ورژن میره بالا امکانات بیشتر نمیشه؟

http://infohost.nmt.edu/tcc/help/pubs/tkinter.pdf
اینم یه PDF دیگه. همونطور که بقیه هم گفتن پایتون ۳ با پایتون ۲.۷ از لحاظ سینتکس فرق می کنه اگه به سایتش هم مراجعه کنین می بینین که هر دو داره همزمان توسعه پیدا می کنه در حال حاضر هم پایتون ۲.۷ محبوبیت بیشتری داره و معمولا روی سیستم ها به عنوان پیشفرض این نسخه نصب می شه. اموزش ها و سورس هاش هم در کل بیشتر هستن.

ravand
جمعه 04 اسفند 1391, 12:30 عصر
متشکرم. این اصطلاح سینتکس یعنی چه؟

kiarashk
جمعه 04 اسفند 1391, 18:56 عصر
متشکرم. این اصطلاح سینتکس یعنی چه؟
خواهش می کنم اینم یه لینک دیگه که یادم رفته بود
http://www.learnpython.org/
اگه بخوام ساده بگم سینتکس به شکل دستورات یک زبان برنامه نویسی گفته می شه مثلا برای تعریف متغیر توی وی بی این کد هست

Dim a as integer
در حالی که برای تعریف متغیر در زبان سی این کد هست

int a;
هر دو دستور در واقع یکی هستن ولی نحوه نگارششون فرق می کنه