انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: AmirZare در 12 شهریور 1397، 01:53 قظ
-
سلام،
چند وقتی هست که دارم PyQt5 رو یاد میگیرم اما چند تا سوال برام پیش اومد.
۱- ماژول PyQt5 با ماژول Pyside2 چه فرقی دارن؟
۲- Qt چی هست؟ با PyQt که دارم یاد میگیرم؛ چه فرقی داره؟
اونطور که داخل فیلم هاش دیدم مثل اینکه با چند کلیک میتونه یک برنامه گرافیکی بسازی!
۳- یادگیری PyQt5 به نظر شما ارزشمند هست؟(چیز بهتری هست که با اون کار کنم؟) چون برای اندروید و ios نمیشه برنامه نوشت!
-
پایتون زیاد کار نکردم ولی
pyQT = python qt
همون کتابخونه QT هست که حالا می تونید ازش توی پایتون هم استفاده کنید
و حتی https://en.wikipedia.org/wiki/PHP-Qt :دی
خب فکر کنم برای نوشتن برنامه با pyqt برای اندروید این رو بخونی بهتر باشه : https://stackoverflow.com/questions/18436340/pyqt-on-android
خب در مورد pyside vs pyqt : https://stackoverflow.com/questions/6888750/pyqt-or-pyside-which-one-to-use گمونم این بیشتر به دردت بخوره
خلاصه جفتشون فعالن دارن توسعه پیدا می کنن یکی شون توسط یه جامعه کاربری و یکی دیگه توسط خود نوکیا ( و جامعه کاربریش D: )
یه سری فرق های جزئی هم دارن که خب قاعدتا خودت باید تصمیم بگیری کدوم خوبه...
سوال اخر هم گمونم توی لینک دومی که دادم توضیح داد که با pyqt5 می تونی برنامه برای اندروید خروجی بگیری...( باید بیشتر تحقیق کنی )
-
Qt sdk را که نصب کنی کامل دستت میاد چیه! اون بخشی که با چند کلیک … Qt designer است.
در بخش Qt creator با c++ یا Qml میتونی کد بزنی و اون رابط گرافیکیت و بقیه چیزا را تغییر بدی و کامل کنی.
https://fa.wikipedia.org/wiki/%DA%A9%DB%8C%D9%88%D8%AA
-
همون کتابخونه QT هست که حالا می تونید ازش توی پایتون هم استفاده کنید
فکر کنم دقیقا همون نیست. بعضی از قابلیت های Qt داخلش نیست.
همونطور که دوستمون بهنام گفت اسم اون برنامه Qt designer هست.
حالا سوال اینجاست PyQt اونقدر خوب هست که به خود Qt نیاز نداشته باشم؟
خب فکر کنم برای نوشتن برنامه با pyqt برای اندروید این رو بخونی بهتر باشه
خیلی ممنون. (برای بقیه دوستان مینویسم شاید بدرد بخوره)
یک برنامه گرافیکی به اسم pyqtdeploy هست که برنامه پایتون شما رو با تمام ماژول هایی که استفاده کردین به ++c تبدیل میکنه.
دقت کنین که خود Qt با ++c نوشته شده. کتابخونه های استاندارد پایتون هم با Qt rcc tool به اون کد ++c اضافه میشن.
بعد از همه ی این کار ها، برنامه pyqtdeploy به شما یک خروجی با فرمت pro. میده که اون رو باید با Qt qmake tool باز کنید و
پلتفرمی که میخواید رو انتخاب کنید تا بهتون خروجی apk. بده.
به نظر من کار بیهوده ای هست، چون ممکنه برنامه ای که نوشتین؛ طول و عرض بعضی buttonهاش داخل گوشی خوب نمایش داده نشه.
آموزشی هم برای برنامه نویسی اندروید با pyqt داخل اینترنت نیست.
راه های بهتری هم برای برنامه نویسی اندروید هست که منم دنبالشم. :(
در ضمن kivy (ساخت برنامه گرافیکی برای همه ی پلتفرم ها) رو هم یکم یاد گرفتم ولی برای ما گنو/لینوکسی با پایتون ۳ مشکله داره. ( یک ابزار به است buildozer دارن که خروجی apk میده ولی اون برای ما نصب نمیشه)؛ حتی داخل خود گنو/لینوکس هم اجرا نمیشه. :(
البته با پایتون ۲ میگن مشکلی نداره. ( من خودم با پایتون ۲ امتحان نکردم. )
یه سری فرق های جزئی هم دارن که خب قاعدتا خودت باید تصمیم بگیری کدوم خوبه...
مطالب رو خوندم مثل اینکه PyQt5 خیلی بهتره.
-
قسمتهای اصلی سوالاتتون رو دوستان جواب دادن.
اما یه نکته این وسط هست که برنامه نویسی برای اندروید با استفاده از پایتون هنوز اونقدری خوب نیست که بشه روش حساب کرد و در حقیقت اصلا بدرد نمیخوره.
بهترین چیز برای برنامه نویسی اندروید جاوا هست و بعد از اون یه چیزی مثل React Native (https://facebook.github.io/react-native/) شاید برای پروژههای کوچیک مناسب باشه.
اما اگه اصرار دارین که با پایتون برای اندروید هم بنویسین پروژهی جالبتری هست به اسم BeeWare (https://pybee.org/) که بسیار مناسبتر از گزینههای دیگه مثل kivy هست.
-
قسمتهای اصلی سوالاتتون رو دوستان جواب دادن.
اما یه نکته این وسط هست که برنامه نویسی برای اندروید با استفاده از پایتون هنوز اونقدری خوب نیست که بشه روش حساب کرد و در حقیقت اصلا بدرد نمیخوره.
بهترین چیز برای برنامه نویسی اندروید جاوا هست و بعد از اون یه چیزی مثل React Native (https://facebook.github.io/react-native/) شاید برای پروژههای کوچیک مناسب باشه.
اما اگه اصرار دارین که با پایتون برای اندروید هم بنویسین پروژهی جالبتری هست به اسم BeeWare (https://pybee.org/) که بسیار مناسبتر از گزینههای دیگه مثل kivy هست.
من ۳ سال بود که با اندروید استادیو و جاوا برای اندروید اپ می نوشتم ، ولی الان دو سال میشه که با qt این کار رو می کنم .. هم راحت تر هستم از این نظر که نیاز نیست برم 500 تا لایبرری به درد نخور توی پروژه اضافه کنم و اینکه سرعت کارم به خاطر qml بیشتر شده (مثلا خیلی راحت و بی دردسر از sqlite استفاده کنم) و میتونم هم از لایبرری های cpp هم js و هم objc و حتی java توی پروژه خیلی راحت بی درسر استفاده کنم
مثلا برای لود عکس فرقی نمی کنه از کجا لود کنم هم میشه از داخل خود اپ مسیر بدم هم آدرس فایل بدم یا url بدم یا حتی رشته blob بدم و کلی چیزای بهتر که توی جاوا و اندروید استادیو اصلا نمیشه تصورش کرد ...
می تونم موقع نوشتن اپ روی خود دسکتاپ بدون ماشین مجازی اندروید تستش کنم
میتونم همون پروژه رو برای ios و ubuntu touch و saiifish os و .... بیلد کنم
و توی تست هایی که انجام دادم سرعت اجرای اپ های qt از اپ هایی که با java نوشته شدن خیلی بهتره
یعنی واقعا پشیمونم که چرا زودتر از این نرفتم دنبالش و چند سال خودمو با java ازیت کردم
ولی یک سری محدودیت ها هم داره مثلا برای نوشتن background procces ها یا همون service های اندروید یا ایجاد نوتیفیکیشن نیاز هست که از جاوا توسط متد jni استفاده بشه
-
قسمتهای اصلی سوالاتتون رو دوستان جواب دادن.
اما یه نکته این وسط هست که برنامه نویسی برای اندروید با استفاده از پایتون هنوز اونقدری خوب نیست که بشه روش حساب کرد و در حقیقت اصلا بدرد نمیخوره.
بهترین چیز برای برنامه نویسی اندروید جاوا هست و بعد از اون یه چیزی مثل React Native (https://facebook.github.io/react-native/) شاید برای پروژههای کوچیک مناسب باشه.
اما اگه اصرار دارین که با پایتون برای اندروید هم بنویسین پروژهی جالبتری هست به اسم BeeWare (https://pybee.org/) که بسیار مناسبتر از گزینههای دیگه مثل kivy هست.
من ۳ سال بود که با اندروید استادیو و جاوا برای اندروید اپ می نوشتم ، ولی الان دو سال میشه که با qt این کار رو می کنم .. هم راحت تر هستم از این نظر که نیاز نیست برم 500 تا لایبرری به درد نخور توی پروژه اضافه کنم و اینکه سرعت کارم به خاطر qml بیشتر شده (مثلا خیلی راحت و بی دردسر از sqlite استفاده کنم) و میتونم هم از لایبرری های cpp هم js و هم objc و حتی java توی پروژه خیلی راحت بی درسر استفاده کنم
مثلا برای لود عکس فرقی نمی کنه از کجا لود کنم هم میشه از داخل خود اپ مسیر بدم هم آدرس فایل بدم یا url بدم یا حتی رشته blob بدم و کلی چیزای بهتر که توی جاوا و اندروید استادیو اصلا نمیشه تصورش کرد ...
می تونم موقع نوشتن اپ روی خود دسکتاپ بدون ماشین مجازی اندروید تستش کنم
میتونم همون پروژه رو برای ios و ubuntu touch و saiifish os و .... بیلد کنم
و توی تست هایی که انجام دادم سرعت اجرای اپ های qt از اپ هایی که با java نوشته شدن خیلی بهتره
یعنی واقعا پشیمونم که چرا زودتر از این نرفتم دنبالش و چند سال خودمو با java ازیت کردم
ولی یک سری محدودیت ها هم داره مثلا برای نوشتن background procces ها یا همون service های اندروید یا ایجاد نوتیفیکیشن نیاز هست که از جاوا توسط متد jni استفاده بشه
شما از cpp استفاده می کنید ؟