Torolàlana wxPython: Endri-javatra Fototra sy Mandroso

hanova

wxPython dia tranomboky mifanandrify amin'ny sehatra maro ho an'ny Python, izay mamela anao hamorona rindrambaiko miaraka amin'ny Graphical User Interface (GUI). Ity cheatsheet ity dia manome topi-maso fohy momba ny endri-javatra fototra sy mandroso amin'ny wxPython.

Fomba fototra amin'ny wxPython

hanova
  • Famoronana Varavarankely Tsotra :
import wx

app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, "Varavarankely Tsotra", size=(300, 200))
frame.Show(True)
app.MainLoop()
  • Widget Mahazatra

wxPython dia manohana widgets maro ho an'ny fifandraisana amin'ny mpampiasa.

Bokotra
button = wx.Button(panel, label="Tsindrio Aho")
button.Bind(wx.EVT_BUTTON, self.OnButtonClick)
Label
label = wx.StaticText(panel, label="Salama, wxPython!")
Boaty Texte
textbox = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
  • Fikarakarana Tranga (Event Handling)

Ny tranga (events) amin'ny wxPython dia voakarakara amin'ny alalan'ny fanoratana ny fomba sy fampifandraisana azy amin'ny tranga iray.

def OnButtonClick(self, event):
    wx.MessageBox("Bokotra Voatsindry", "Information", wx.OK | wx.ICON_INFORMATION)
  • Layouts (Fandaminana ny Widgets)

wxPython dia manohana ny fandaminana widgets amin'ny alalan'ny Sizers, toy ny BoxSizer sy GridSizer.

BoxSizer
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(button, 0, wx.ALL, 5)
sizer.Add(textbox, 1, wx.EXPAND | wx.ALL, 5)
panel.SetSizer(sizer)
GridSizer
sizer = wx.GridSizer(2, 2, 5, 5)
sizer.AddMany([(button1), (button2), (button3), (button4)])
panel.SetSizer(sizer)

Endri-javatra Mandroso amin'ny wxPython

hanova
  • Fampiasana ny Menubar sy Toolbar

wxPython dia mamela ny famoronana menubar sy toolbar mba hampidirana baiko sy fitaovana mora ampiasaina.

Menubar
menuBar = wx.MenuBar()
fileMenu = wx.Menu()
menuBar.Append(fileMenu, "&File")
newItem = fileMenu.Append(wx.ID_NEW, "&New")
self.Bind(wx.EVT_MENU, self.OnNew, newItem)
self.SetMenuBar(menuBar)
Toolbar
toolbar = self.CreateToolBar()
tool = toolbar.AddTool(wx.ID_ANY, "New", wx.Bitmap("new.png"))
self.Bind(wx.EVT_TOOL, self.OnNew, tool)
toolbar.Realize()
  • Dialogs (Varavarankely Mifampiresaka)

wxPython dia manome fomba mora ampiasaina amin'ny famoronana dialogs toy ny FileDialog, MessageBox, ary ColorDialog.

FileDialog
dialog = wx.FileDialog(self, "Safidio ny rakitra", wildcard="*.*", style=wx.FD_OPEN)
if dialog.ShowModal() == wx.ID_OK:
    file_path = dialog.GetPath()
dialog.Destroy()
MessageBox
wx.MessageBox("Tonga soa eto amin'ny wxPython!", "Information", wx.OK | wx.ICON_INFORMATION)
  • Custom Widgets (Widgets namboarina)

Afaka mamorona widgets manokana ianao amin'ny alalan'ny famoronana kilasy iray manaraka avy amin'ny kilasy wxPython iray efa misy.

class MyCustomWidget(wx.Panel):
    def __init__(self, parent):
        super().__init__(parent)
        self.label = wx.StaticText(self, label="Widget Namorona")
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.Add(self.label, 0, wx.ALL, 5)
        self.SetSizer(sizer)
  • Asehoy ny Canvas (Fanoratana ny Canvas)

wxPython dia manohana ny fanaovana sary amin'ny alalan'ny wx.Canvas, izay ahafahanao mandravaka sy mamorona sary mahafinaritra amin'ny pejy.

class MyCanvas(wx.Panel):
    def __init__(self, parent):
        super().__init__(parent)
        self.Bind(wx.EVT_PAINT, self.OnPaint)
    
    def OnPaint(self, event):
        dc = wx.PaintDC(self)
        dc.SetBrush(wx.Brush("yellow"))
        dc.DrawCircle(50, 50, 25)
  • Fampifandraisana amin'ny tahiry (Database)

wxPython dia azo ampiasaina miaraka amin'ny MySQL, SQLite, na tahiry hafa amin'ny alalan'ny Python, ary aseho ny valiny ao amin'ny GUI.

import sqlite3

def ConnectToDatabase():
    conn = sqlite3.connect("database.db")
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM Users")
    results = cursor.fetchall()
    for row in results:
        print(row)
    conn.close()

Fehiny

hanova

wxPython dia fitaovana mahery vaika sy mora ampiasaina ho an'ny famoronana rindrambaiko miaraka amin'ny Graphical User Interface (GUI) amin'ny Python. Amin'ny alalan'ny fahalalana ireo endri-javatra fototra sy mandroso ireo, dia afaka mamorona fampiharana matotra sy manintona ianao amin'ny alalan'ny wxPython.