基于wxpython开发的简单gui计算器实例
本文实例讲述了基于wxpython开发的简单gui计算器。分享给大家供大家参考。具体如下:
# wxCalc1 a simple GUI calculator using wxPython # created with the Boa Constructor which generates all the GUI components # all I had to do is add some code for each button click event # Boa free from: http://boa-constructor.sourceforge.net/ # note that boa-constructor-0.3.1.win32.exe # still uses wxPythonWIN32-2.4.2.4-Py23.exe # but is expected to work with wxPython version 2.5 soon # tested with Python23 vegaseat 26feb2005 from wxPython.wx import * # some Boa generated global IDs ... [wxID_WXFRAME1, wxID_WXFRAME1BTN0, wxID_WXFRAME1BTN1, wxID_WXFRAME1BTN2, wxID_WXFRAME1BTN3, wxID_WXFRAME1BTN4, wxID_WXFRAME1BTN5, wxID_WXFRAME1BTN6, wxID_WXFRAME1BTN7, wxID_WXFRAME1BTN8, wxID_WXFRAME1BTN9, wxID_WXFRAME1BTNCLEAR, wxID_WXFRAME1BTNDIV, wxID_WXFRAME1BTNDOT, wxID_WXFRAME1BTNEQUAL, wxID_WXFRAME1BTNMINUS, wxID_WXFRAME1BTNMULTI, wxID_WXFRAME1BTNPLUS, wxID_WXFRAME1EDIT, ] = map(lambda _init_ctrls: wxNewId(), range(19)) class wxFrame1(wxFrame): #startregion, below this marker is Boa generated code do not edit!!! def _init_ctrls(self, prnt): # generated method, don't edit wxFrame.__init__(self, id=wxID_WXFRAME1, name='', parent=prnt, pos=wxPoint(306, 270), size=wxSize(266, 265), style=wxDEFAULT_FRAME_STYLE, title='Calculator1') self.SetClientSize(wxSize(258, 225)) self.SetBackgroundColour(wxColour(0, 128, 0)) self.btn1 = wxButton(id=wxID_WXFRAME1BTN1, label='1', name='btn1', parent=self, pos=wxPoint(16, 136), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn1, wxID_WXFRAME1BTN1, self.OnBtn1Button) self.btn2 = wxButton(id=wxID_WXFRAME1BTN2, label='2', name='btn2', parent=self, pos=wxPoint(64, 136), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn2, wxID_WXFRAME1BTN2, self.OnBtn2Button) self.btn3 = wxButton(id=wxID_WXFRAME1BTN3, label='3', name='btn3', parent=self, pos=wxPoint(112, 136), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn3, wxID_WXFRAME1BTN3, self.OnBtn3Button) self.btn4 = wxButton(id=wxID_WXFRAME1BTN4, label='4', name='btn4', parent=self, pos=wxPoint(16, 96), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn4, wxID_WXFRAME1BTN4, self.OnBtn4Button) self.btn5 = wxButton(id=wxID_WXFRAME1BTN5, label='5', name='btn5', parent=self, pos=wxPoint(64, 96), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn5, wxID_WXFRAME1BTN5, self.OnBtn5Button) self.btn6 = wxButton(id=wxID_WXFRAME1BTN6, label='6', name='btn6', parent=self, pos=wxPoint(112, 96), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn6, wxID_WXFRAME1BTN6, self.OnBtn6Button) self.btn7 = wxButton(id=wxID_WXFRAME1BTN7, label='7', name='btn7', parent=self, pos=wxPoint(16, 56), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn7, wxID_WXFRAME1BTN7, self.OnBtn7Button) self.btn8 = wxButton(id=wxID_WXFRAME1BTN8, label='8', name='btn8', parent=self, pos=wxPoint(64, 56), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn8, wxID_WXFRAME1BTN8, self.OnBtn8Button) self.btn9 = wxButton(id=wxID_WXFRAME1BTN9, label='9', name='btn9', parent=self, pos=wxPoint(112, 56), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn9, wxID_WXFRAME1BTN9, self.OnBtn9Button) self.btn0 = wxButton(id=wxID_WXFRAME1BTN0, label='0', name='btn0', parent=self, pos=wxPoint(16, 176), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btn0, wxID_WXFRAME1BTN0, self.OnBtn0Button) self.btnDot = wxButton(id=wxID_WXFRAME1BTNDOT, label='.', name='btnDot', parent=self, pos=wxPoint(64, 176), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btnDot, wxID_WXFRAME1BTNDOT, self.OnBtnDotButton) self.btnEqual = wxButton(id=wxID_WXFRAME1BTNEQUAL, label='=', name='btnEqual', parent=self, pos=wxPoint(112, 176), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btnEqual, wxID_WXFRAME1BTNEQUAL, self.OnBtnEqualButton) self.edit = wxTextCtrl(id=wxID_WXFRAME1EDIT, name='edit', parent=self, pos=wxPoint(16, 16), size=wxSize(224, 24), style=0, value='') self.btnPlus = wxButton(id=wxID_WXFRAME1BTNPLUS, label='+', name='btnPlus', parent=self, pos=wxPoint(160, 56), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btnPlus, wxID_WXFRAME1BTNPLUS, self.OnBtnPlusButton) self.btnMinus = wxButton(id=wxID_WXFRAME1BTNMINUS, label='-', name='btnMinus', parent=self, pos=wxPoint(160, 96), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btnMinus, wxID_WXFRAME1BTNMINUS, self.OnBtnMinusButton) self.btnMulti = wxButton(id=wxID_WXFRAME1BTNMULTI, label='*', name='btnMulti', parent=self, pos=wxPoint(160, 136), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btnMulti, wxID_WXFRAME1BTNMULTI, self.OnBtnMultiButton) self.btnDiv = wxButton(id=wxID_WXFRAME1BTNDIV, label='/', name='btnDiv', parent=self, pos=wxPoint(160, 176), size=wxSize(32, 32), style=0) EVT_BUTTON(self.btnDiv, wxID_WXFRAME1BTNDIV, self.OnBtnDivButton) self.btnClear = wxButton(id=wxID_WXFRAME1BTNCLEAR, label='C', name='btnClear', parent=self, pos=wxPoint(208, 56), size=wxSize(32, 32), style=0) self.btnClear.SetToolTipString('btnClear') EVT_BUTTON(self.btnClear, wxID_WXFRAME1BTNCLEAR, self.OnBtnClearButton) def __init__(self, parent): self._init_ctrls(parent) #endregion, above this marker is Boa generated code, do not edit!!! # now respond to all the button click events ... def OnBtn0Button(self, event): val = '0' # get existing edit box text txt = self.edit.GetValue() # append text txt = txt + val # update edit box text self.edit.SetValue(txt) def OnBtn1Button(self, event): val = '1' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtn2Button(self, event): val = '2' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtn3Button(self, event): val = '3' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtn4Button(self, event): val = '4' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtn5Button(self, event): val = '5' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtn6Button(self, event): val = '6' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtn7Button(self, event): val = '7' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtn8Button(self, event): val = '8' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtn9Button(self, event): val = '9' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtnDotButton(self, event): val = '.' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtnEqualButton(self, event): txt = self.edit.GetValue() # needs to contain a float so eg. 3/5 is 3/5.0 # otherwise division 3/5 would result in zero if '/' in txt: if '.' not in txt: txt = txt + '.0' # now evaluate the math string txt = repr(eval(txt)) # and show result in edit box self.edit.SetValue(txt) def OnBtnPlusButton(self, event): val = '+' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtnMinusButton(self, event): val = '-' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtnMultiButton(self, event): val = '*' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtnDivButton(self, event): val = '/' txt = self.edit.GetValue() txt = txt + val self.edit.SetValue(txt) def OnBtnClearButton(self, event): self.edit.SetValue('') # -------------------- end of class wxFrame1 ---------------------- def create(parent): return wxFrame1(parent) class BoaApp(wxApp): def OnInit(self): wxInitAllImageHandlers() self.main = create(None) self.main.Show() self.SetTopWindow(self.main) return True def main(): application = BoaApp(0) application.MainLoop() if __name__ == '__main__': main()
希望本文所述对大家的Python程序设计有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kedua-dua gambar ini adalah tangkapan skrin paparan paparan yang disediakan di tapak web rasmi: penukaran tema ialah penukaran tema yang mudah Memandangkan terdapat beberapa komponen pada tetingkap semasa, kesannya tidak jelas, tetapi ia akan kelihatan baik apabila terdapat banyak reka letak komponen. . importttkbootstrapasttkfromttkbootstrap.constantsimport*root=ttk.Window()style=ttk.Style()theme_names=style.theme_names()#Kembalikan berbilang nama tema dalam bentuk senarai theme_selection=ttk.Frame(root, padding=(10,10)

Sekiranya terdapat apa-apa yang ditakuti oleh pengaturcara, maka saya fikir mungkin keperluan telah berubah lagi Tidak, selepas pengarang membangunkan aplikasi Web berasaskan pelayar, pelanggan berkata: Program ini perlu dalaman (tidak) dalaman (rangkaian) ) persekitaran... Ini bermakna persekitaran Python tidak boleh dipasang Siapakah yang memanggil kami sebagai pengaturcara? Saya tidak dapat bertenang... ...Untuk tidak menjejaskan penilaian pelanggan, kami hanya boleh memberikan satu minggu Walaupun tidak sukar untuk membayangkan GUI, ia perlu menyusun perkhidmatan dan antara muka interaktif dengannya pengguna. Jika tidak, anda perlu menulis antara muka yang berasingan untuk GUI, yang jelas tidak cukup masa. Tidak, mari kita fikirkan cara lain...jika tidak, kita boleh menggunakan Web sahaja

Ac pada kalkulator ialah kekunci "all clear" Nama penuh bahasa Inggeris ac ialah "All Clear", yang bermaksud "all clear key" bermaksud mengosongkan nilai dalam semua register; , tekan pertama Menekan kekunci ac akan mengosongkan semua nilai kecuali kandungan memori.

E dalam kalkulator mewakili kuasa 10, yang bermaksud eksponen dengan asas 10. Contohnya, 1.99714E13 bersamaan dengan 19971400000000 menyatakan nombor dalam bentuk darab dengan kuasa ke-10 dipanggil tatatanda saintifik : Apabila kita ingin menandakan atau mengendalikan sesuatu yang lebih besar atau lebih kecil dengan bilangan digit yang banyak, kita boleh menggunakan tatatanda saintifik untuk mengelakkan pembaziran banyak ruang dan masa.

Kutukan Yang pertama muncul ialah Kutukan[1]. CurseCurses ialah perpustakaan dinamik yang menyediakan kefungsian tetingkap terminal berasaskan teks Ia boleh: Mencipta dan mengurus tetingkap menggunakan keseluruhan skrin Gunakan 8 warna berbeza Menyediakan sokongan tetikus untuk program Gunakan kekunci fungsi pada papan kekunci Curse boleh digunakan dalam mana-mana ANSI/POSIX. -patuh Berjalan pada sistem Unix/Linux standard. Ia juga boleh dijalankan pada Windows, tetapi anda perlu memasang perpustakaan windows-curses sebagai tambahan: pip install windows-curses Gambar di atas ditulis oleh rakan menggunakan Curses

Sistem win10 mempunyai banyak fungsi yang berkuasa, yang menarik ramai netizen untuk memuat turun, memasang dan menggunakannya Terdapat juga banyak alat praktikal, seperti alat kalkulator win10. Sesetengah netizen masih tidak tahu cara membuka kalkulator Win10. Biar saya ajar anda cara membuka kalkulator Win10. Kaedah 1: Cari dalam menu Mula 1. Pada desktop sistem Windows 10, klik item menu "Mula/Kalkulator". 2. Anda boleh membuka tetingkap kalkulator Windows 10. Kaedah 2: Buka Carian Cortana 1. Pada desktop Windows 10, klik ikon "Carian Cortana" di penjuru kiri sebelah bawah bar tugas. 2. Masukkan kata kunci "kalkulator" dalam menu pop timbul untuk mencari, dan klik item menu kalkulator dalam hasil carian.

1. Pengenalan kepada kaedah tkraise() Frame Biasanya, aplikasi Tkinter terdiri daripada berbilang Bingkai. Dan anda sering perlu bertukar antara Bingkai untuk memaparkan Bingkai yang berkaitan dengan pilihan pengguna. Tkinter membenarkan Bingkai disusun di atas satu sama lain. Untuk memaparkan Bingkai tertentu, hanya letakkan satu di atas satu lagi dalam susunan susunan. Bingkai atas akan kelihatan. Untuk meletakkan Frame di atas, anda boleh menggunakan kaedah tkraise() widget Frame, seperti yang ditunjukkan di bawah: frame.tkraise() 2. contoh penggunaan tkraise Berikut akan melaksanakan aplikasi penukaran suhu kecil, menggunakan dua untuk Fahrenheit dan Celsius Bingkai yang berbeza

Antara Muka Pengguna Grafik (GUI) Antara Muka Pengguna Grafik (GUI) hanyalah aplikasi desktop yang membantu kami berinteraksi dengan komputer Aplikasi GUI seperti editor teks boleh membuat, membaca, mengemas kini dan memadamkan beberapa jenis fail. Aplikasi seperti Solitaire, Chess dan Solitaire ialah versi permainan program GUI, dan aplikasi GUI seperti Google Chrome, Firefox dan Microsoft Edge digunakan untuk menyemak imbas Internet Ini adalah beberapa jenis GUI yang kami gunakan pada komputer kami setiap hari. Aplikasi, sebenarnya, kami juga boleh membina aplikasi yang serupa melalui Tkinter Hari ini, sebagai pengenalan kepada GUI, kami akan membuat yang sangat mudah
