الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل هناك طريقة معينة لجعل ال PySide يعمل مع PyInstaller

بدأه اسلام مصطفي في 31 يوليو 2011 · 8 رد · 729 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

كتبت برنامج بالبايثون و اريد تحويله الي executable file علي الويندوز. جربت ال Py2exe و كان الحجم كبيرا جداً

و الأن جربت ال PyInstaller و لكن يظهر لي خطأ عند

@slot()

اعتقد لا يمكنه التعرف عليها او شئ من هذا القبيل ، ربما المشكلة مع Qt عموماً.

من لديه الحل ؟

#2

اعتقد ان المشكلة ربما تكون في استخدام python بدلا من python2

هل استطيع ان اجعل ال pyinstaller يستخدم python2 ؟

تم تعديل هذه المشاركة بواسطة اسلام مصطفي في 4 أغسطس 2011 في 20:43

#3

كل عام وانت بخير اسلام

امسح الديركتف لانه يبدو ان استخدام slot() في دالة connect يغني عنها

1

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#4
ihope كتب:

كل عام وانت بخير اسلام

امسح الديركتف لانه يبدو ان استخدام slot() في دالة connect يغني عنها

وانت بالف خير افتقدت مساعدتك في الايام السابقة :)

وبالطبع كيف لم نلحظ ذلك ازلتها و الان كل شئ يعمل كالسحر عدا خطا بسيط ساصلحه و بعدها ساقوم برفع البرنامج علي المنتدي.

والان اعتقد انني سوف اقوم بالبدء علي برنامج جديد لاني بدات اشعر بالملل من الالة سوف اكتب برنامج لعرض الصور و لكن تواجهني مشكلة عموما مع الكلاسات و هي اني اريد استدعاء متغير من داخل دالة في كلاس اخر

تم تعديل هذه المشاركة بواسطة اسلام مصطفي في 6 أغسطس 2011 في 04:02

#5

!! هات مثال :huh:

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#6

المثال :

class one:
    def __init__(self):
        self.var = 'this is variable'
        self.func() #i thought adding this line will affect the result, but no

    def func(self):
        self.var1 = 'this is another variable'
        var2 = 'another variable'

class two:
    def __init__(self):
        print one().var     #This Works Fine
        print one().var1      #But this one is not working, why ?
        print one.var2      #i guess this one will not work at all


if __name__ == '__main__':
    twoclass = two()

الألة تعمل بكفاءة بعد تحويلها الي ملف تنفيذي و لكن للأسف الحجم 16 ميجا بعد استخدام upx و ايضا لم اعرف كيفية دمج الأيكونات ، اضطرت لنسخ الأيكونات في نفس مجلد ملف التشغيل

هذا هو كود الألة (ستلحظ تغير كبير عن الكود السابق):

SmartCalc.py

تم تعديل هذه المشاركة بواسطة اسلام مصطفي في 6 أغسطس 2011 في 22:56

#7

اولا الدالة func لم يتم استدعائها

فلن يتم الوصول لاي متغيرات بداخلها

المتغير var1 هو خاصية property للفئة one للوصول اليه حسب كودك يجب استدعاء الدالة func لمتغير من النوع one

class two:
    def __init__(self):
        print one().var     #This Works Fine
        someOne = one()
        someOne.func()
        #الان يمكنك الوصول للخاصية var1
        print someOne.var1

اما المتغير var2 لا يمكن الوصول اليه لانه متغير محلي يضل موجود بعد انشائه وحتى نهاية المجال اللي تم انشائه فيه اي الدالة func

والفرق بينه وبين var1 self

لو اردت اسناد متغير عام يمكن استخدام global var2 أو

globals()['var2'] = "blablabla"

تمام ؟

تم تعديل هذه المشاركة بواسطة ihope في 7 أغسطس 2011 في 00:01

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#8

نسيت ان اخبرك انه ممنوع وضع سؤالين في موضوع واحد

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#9
ihope كتب:

نسيت ان اخبرك انه ممنوع وضع سؤالين في موضوع واحد

شكرا علي الرد، و اسف سأجعل كل سؤال في موضوع منفصل

مواضيع مشابهة