اذهب إلى المحتوى

Mustafa Suleiman

الأعضاء
  • المساهمات

    13253
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    366

كل منشورات العضو Mustafa Suleiman

  1. بعيدًا عن أسلوبك في الرد، الكود كمثال لك، فإن كنت على غير علم بلغة بايثون فلن تتمكن من القيام بالتعديل عليه لتنفيذ ما تريده، من فضلك، قم بتوفير الكود الذي يوجد به مشكلة لديك لتوفير حل لمشكلتك.
  2. أهلا بك يا إبراهيم. من خلال هذا المثال يمكنك إنشاء dialog box لإدخال 3 أرقام أو أحرف لتفعيل رمز الـ PIN. import wx class PinDialog(wx.Dialog): def __init__(self, parent, title): wx.Dialog.__init__(self, parent, title=title) self.pin = "" # create the text entry boxes self.pin_textctrl1 = wx.TextCtrl(self, style=wx.TE_PASSWORD) self.pin_textctrl2 = wx.TextCtrl(self, style=wx.TE_PASSWORD) self.pin_textctrl3 = wx.TextCtrl(self, style=wx.TE_PASSWORD) # create the OK and Cancel buttons self.ok_button = wx.Button(self, label="OK") self.cancel_button = wx.Button(self, label="Cancel") # bind the buttons to their event handlers self.ok_button.Bind(wx.EVT_BUTTON, self.on_ok) self.cancel_button.Bind(wx.EVT_BUTTON, self.on_cancel) # create a sizer to layout the widgets sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(wx.StaticText(self, label="Enter your PIN:"), flag=wx.CENTER|wx.TOP, border=10) sizer.Add(wx.StaticLine(self), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10) sizer.Add(self.pin_textctrl1, flag=wx.CENTER|wx.ALL, border=5) sizer.Add(self.pin_textctrl2, flag=wx.CENTER|wx.ALL, border=5) sizer.Add(self.pin_textctrl3, flag=wx.CENTER|wx.ALL, border=5) sizer.Add(wx.StaticLine(self), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10) button_sizer = wx.BoxSizer(wx.HORIZONTAL) button_sizer.Add(self.ok_button, flag=wx.CENTER|wx.ALL, border=5) button_sizer.Add(self.cancel_button, flag=wx.CENTER|wx.ALL, border=5) sizer.Add(button_sizer, flag=wx.CENTER|wx.ALL, border=10) self.SetSizer(sizer) sizer.Fit(self) def on_ok(self, event): # get the values from the text entry boxes self.pin = self.pin_textctrl1.GetValue() + self.pin_textctrl2.GetValue() + self.pin_textctrl3.GetValue() self.EndModal(wx.ID_OK) def on_cancel(self, event): self.EndModal(wx.ID_CANCEL) def get_pin(self): return self.pin # create the wx.App object app = wx.App() # create the main window frame = wx.Frame(None, title="Pin Dialog") # create the dialog box and show it pin_dialog = PinDialog(frame, "Enter Your PIN") result = pin_dialog.ShowModal() # get the PIN value and print it to the console if result == wx.ID_OK: pin = pin_dialog.get_pin() print("PIN entered:", pin) # clean up pin_dialog.Destroy() frame.Destroy() # start the main event loop app.MainLoop()
  3. أهلا بك يا محمد. المشكلة تكمن في ضبط إعدادات الـ file-loader أو url-loader. يتم استخدام أداة تحميل الملفات أو url-loader للتعامل مع ملفات الأصول مثل الصور والخطوط وملفات الوسائط الأخرى. عندما يصادف webpack ملف أصل ، فإنه يمرره إلى أداة تحميل الملفات أو url-loader ، مما ينشئ ملفًا جديدًا باسم فريد ويضعه في دليل الإخراج. إذا قمت بتحديد خيار publicPath غير صحيح ، فقد لا يتم تحميل الصور بشكل صحيح. تحتاج إلى التأكد من أن خيار publicPath يشير إلى الدليل الصحيح الذي يتم تخزين الصور فيه. على سبيل المثال ، إذا تم تخزين صورك في دليل "assets/images" ، يجب أن تبدو إعدادات webpack على النحو التالي: module.exports = { // ... other config options output: { // ... publicPath: "/assets/images/", }, module: { rules: [ { test: /\.(png|jpg|gif|svg)$/, use: [ { loader: 'file-loader', options: { name: '[name].[ext]', outputPath: 'assets/images/' } } ] } ] } }; أي أنه يجب إضافة خيار publicPath ويتم ضبطه للإشارة إلى مسار الصور في ملف المشروع الخاص بك، وتأكد من استخدام absolute path '/' وليس relative path '/.' output: { // ... publicPath: "/assets/images/", }
×
×
  • أضف...