рдкреЗрд╢ рд╣реИ wxPythonред рднрд╛рдЧ рдПрдХ рдкрд╣рд▓рд╛ рдХрджрдо

рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рд╣реЛ!

рдЫрд╡рд┐

рдкрд░рд┐рдЪрдп


рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рд░реВрдмреА / рдЯреАрдХреЗ рдмрдВрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдерд╛ред рдЖрдЬ рдореИрдВ "рддреЗрдЬ рдЗрдВрдЯрд░рдлреЗрд╕" рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рдЬрд╛рд░реА рд░рдЦрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕ рдмрд╛рд░ рдореИрдВ рдЖрдкрдХреЛ wxPython рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛, рдФрд░ рд╣рдо Python рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, wxPython рд╕рд┐рд░реНрдл wxWidgets рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


XWidgets рдХреНрдпрд╛ рд╣реИ


wxWidgets (рдкрд╣рд▓реЗ рдЬрд┐рд╕реЗ wxWindows рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ (GUI) рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП, рд╕реНрд░реЛрдд рдХреЛрдб рд╕реНрддрд░ рдкрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓ рдХреА рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред
рдЗрд╕реЗ рди рдХреЗрд╡рд▓ GUI рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХ рдЗрдореЗрдЬ, HTML, XML рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд╕, рдЖрд░реНрдХрд╛рдЗрд╡реНрд╕, рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, рдкреНрд░реЛрд╕реЗрд╕, рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рд╕рдмрд╕рд┐рд╕реНрдЯрдо, рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛, рдиреЗрдЯрд╡рд░реНрдХ, рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕реЗрд╕, рдбреАрдмрдЧрд┐рдВрдЧ, рдбрдВрдкреНрд╕ рднреЗрдЬрдиреЗ рдФрд░ рдХрдИ рдЕрдиреНрдп рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕реЗрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рдЦреИрд░, рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЪрд▓реЛ рдХреНрд░рдо рдореЗрдВ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рд╣рдо wxPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд▓реЛ, рд╡рд░реНрд▓реНрдб рд▓рд┐рдЦреЗрдВрдЧреЗред рдпрд╣рд╛рдБ рд╡рд╣ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рд╣реИ , рдкреНрд░рднреБрд╕рддреНрддрд╛ :

import wx app = wx.App() wnd = wx.Frame(None, wx.ID_ANY, "I'm the title") wnd.Show(True) app.MainLoop() 

рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИред рдЬрд▓реНрджреА рд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ред



рдбреАрдмреНрд░реАрдлрд┐рдВрдЧ


рдареАрдХ рд╣реИ, рдЕрдм рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рджрд▓рд┐рдпрд╛, рд╕рд░!

 import wx 

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдпрд╣рд╛рдБ рд╣рдо wxPython рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

 app = wx.App() 

рдпрд╣рд╛рдВ рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

 wnd = wx.Frame(None, wx.ID_ANY, "I'm the title") 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдереЛрдбрд╝рд╛ рд░реБрдХрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреЛрдб рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ (рд╢рдмреНрджрд╛рд╡рд▓реА wxWidgets рдЗрд╕ рд╡рд┐рдВрдбреЛ рдореЗрдВ)ред
рдЖрдЗрдП рджрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
  1. рдЬрдирдХ рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рд╡рд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдореБрдЦреНрдп рдЦрд┐рдбрд╝рдХреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
  2. рдЖрдИрдбреА рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЦрд┐рдбрд╝рдХреА рдХреЗ рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рд╣рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдиреАрдЪреЗ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛, рдмрд╕ wx.ID_ANY рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рд╣рд░ рдЪреАрдЬ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред
  3. рд╢реАрд░реНрд╖рдХ - рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ ... рдпрд╣ рд╣рдорд╛рд░реА рдЦрд┐рдбрд╝рдХреА рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╣реИ ред

 wnd.Show(True) 

рдпрд╣рд╛рдВ рд╣рдо рд╕рдВрдХреЗрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рдЦрд┐рдбрд╝рдХреА рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред

 app.MainLoop() 

рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрдкрдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред рдмрд╕ рдЗрддрдирд╛ рд╣реА ...

рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░реЗрдВ


рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ GUI рддрддреНрд╡ wxPython рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рд╕рдордЧреНрд░ рдФрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕рдм рдареАрдХ рд╣реИред рдЕрдкрдиреЗ рд╕рд╛рде рдПрдХ рд▓рдШреБ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рд▓рд┐рдЦреЗрдВред

рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, wxPython рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЛ TextCtrl рдХреНрд▓рд╛рд╕ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╣рдо рдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ рд╡рд╣ рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рд╣реИ, рдЕрд░реНрдерд╛рдд рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкрд╛рда рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдЗрдП рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВ рдФрд░ TextCtrl рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП TE_MULTILINE рдХреЗ рд╕рд╛рде рд╢реИрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реЗрдВред рд╣рдорд╛рд░реЗ рдкрд╣рд▓реЗ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 import wx class Window(wx.Frame): def __init__(self, parent, title): wx.Frame.__init__(self, parent, title = title, size = (300,250)) self.control = wx.TextCtrl(self, style = wx.TE_MULTILINE) self.Show(True) app = wx.App() wnd = Window(None, "pyNote") app.MainLoop() 

рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЪрд▓реЛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



рдиреЛрдЯ : рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднреВрд▓ рдЧрдпрд╛ред рдореИрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд╛рдпрдерди рдореЗрдВ рдУрдУрдкреА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдЬреИрд╕реЗ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╕реНрд╡ рдпрд╛ рд╡рд░реНрдЧ рд╡рд┐рдВрдбреЛ (wx.Frame) рдХреНрдпрд╛ рд╣реИред

рд╡реЗрдЯрд░, рдореЗрдиреВ, рдХреГрдкрдпрд╛

рд╣рдорд╛рд░реЗ рд╕рдВрдкрд╛рджрдХ рдФрд░ рдЖрдк рдереЛрдбрд╝реЗ рд╕реВрдЦреЗ рд▓рдЧрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛? рдмреЗрд╢рдХ, рдпрд╣ рдПрдХ рдореЗрдиреВ рднреА рдирд╣реАрдВ рд╣реИред рдЖрдЗрдП рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдореЗрдиреВ рдмрдирд╛рдПрдВред рдпрд╣ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред

 import wx class Window(wx.Frame): def __init__(self, parent, title): wx.Frame.__init__(self, parent, title = title, size = (300,250)) self.control = wx.TextCtrl(self, style = wx.TE_MULTILINE) #    self.Show(True) menu = wx.Menu() #    menu.Append(wx.ID_ABOUT,"About","Push the button to get an information about this application") #     menu.Append(wx.ID_EXIT,"Exit","Push the button to leave this application") #   ? bar = wx.MenuBar() #      bar.Append(menu,"File") #    self.SetMenuBar(bar) # ,         app = wx.App() wnd = Window(None, "pyNote") app.MainLoop() 

рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рдпрд╣рд╛рдБ рдореЗрдиреВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░рд╛ рд╕рдВрдкрд╛рджрдХ рд╣реИ:



рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ

рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрдпрд╛ рд╣реИ? рд╣рдо "рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЦреИрд░, рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдордВрдЪ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ - рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреИрд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

 def __init__(self, parent, title): self.Bind(wx.EVT_MENU, self.OnAbout, aboutItem) 

рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо "рдЕрдмрд╛рдЙрдЯ" рдЖрдЗрдЯрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдСрдирдЕрдмрд╛рдЙрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред

рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдЗрд╕ рд╕рдорд╛рд░реЛрд╣ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 def OnAbout(self, e): dlg = wx.MessageDialog(self, "This is a mini editor keeping your text","About pyNote", wx.OK) #   dlg.ShowModal() #   


рд╡рд╣ рд╕рдм рд╣реИред рдЕрдм, рдЬрдм рд╣рдо "рдЕрдмрд╛рдЙрдЯ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ:



рдореИрдВрдиреЗ рдкреВрд░рд╛ рдХреЛрдб рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реА рдХрд╣реВрдВрдЧрд╛ ...
рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХрд╛рд▓рд╛рдк? рдХреЛрдИ рд╕рдВрд╡рд╛рдж рдирд╣реАрдВ!

рдЖрдЗрдП рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ / рдмрдВрдж рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЪрд┐рдк рдФрд░ рдбреЗрд▓ FileDialog рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдореЗрдиреВ рдореЗрдВ "рдУрдкрди" рдЖрдЗрдЯрдо рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдлрд╛рдЗрд▓ рдУрдкрди рдбрд╛рдпрд▓реЙрдЧ ( рдСрдирдСрди рдлрдВрдХреНрд╢рди) рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдм рд╣рдореЗрдВ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде FileDialog рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рд╕рдм рдХреБрдЫ:

 import wx import os class Window(wx.Frame): def __init__(self, parent, title): wx.Frame.__init__(self, parent, title = title, size = (300,250)) self.control = wx.TextCtrl(self, style = wx.TE_MULTILINE) self.Show(True) menu = wx.Menu() openItem = menu.Append(wx.ID_ANY, "Open", "Push the button to open the file") aboutItem = menu.Append(wx.ID_ABOUT,"About","Push the button to get an information about this application") exitItem = menu.Append(wx.ID_EXIT,"Exit","Push the button to leave this application") bar = wx.MenuBar() bar.Append(menu,"File") self.SetMenuBar(bar) self.Bind(wx.EVT_MENU, self.OnOpen, openItem) self.Bind(wx.EVT_MENU, self.OnAbout, aboutItem) self.Bind(wx.EVT_MENU, self.OnExit, exitItem) def OnAbout(self, e): aboutDlg = wx.MessageDialog(self, "This is a mini editor keeping your text","About pyNote", wx.OK) aboutDlg.ShowModal() def OnOpen(self, e): self.dirname = " " openDlg = wx.FileDialog(self, "Choose a file to open", self.dirname, " ", "*.*", wx.OPEN) #   if openDlg.ShowModal() == wx.ID_OK: #    self.filename = openDlg.GetFilename() #    self.dirname = openDlg.GetDirectory() #  ,     f = open(os.path.join(self.dirname,self.filename), "r") #   self.control.SetValue(f.read()) #     f.close() wnd.SetTitle(self.filename + " - pyNote") #    app = wx.App() wnd = Window(None, "pyNote") app.MainLoop() 

рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд╣ рд╕рдм рд╣реИред рдЪрд▓реЛ рд╣рдорд╛рд░реА рд░рдЪрдирд╛ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдФрд░, рдзреНрдпрд╛рди ... рдбреНрд░рдо рд░реЛрд▓ ... "рдУрдкрди" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ ...



рдФрд░ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ ...



рдирд┐рд╖реНрдХрд░реНрд╖


рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЖрдЬ рд╣рдо wxPython рдирд╛рдордХ рдПрдХ рдорд╣рд╛рди рдЯреВрд▓рдХрд┐рдЯ рд╕реЗ рдорд┐рд▓реЗ, рдЬреЛ рдЖрдкрдХреЛ рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рд╢рд╛рдирджрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдкрдврд╝рдирд╛ рд╣реИ?


wxWidgets - рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ ред
рдЖрд░рдВрдн рдХрд░рдирд╛ - wxPyWiki
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ wxPython ред
Zetcode рдкрд░ wxPython ред

рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдП!

Source: https://habr.com/ru/post/In137369/


All Articles