基于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程序设计有所帮助。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 두 사진은 공식 웹사이트에서 제공하는 디스플레이 렌더링의 스크린샷입니다. 테마 전환은 간단한 테마 전환입니다. 현재 창에 구성 요소가 거의 없기 때문에 효과가 뚜렷하지는 않지만, 구성 요소가 많을 때는 보기에 좋을 것입니다. 배치. importttkbootstrapasttkfromttkbootstrap.constantsimport*root=ttk.Window()style=ttk.Style()theme_names=style.theme_names()#목록 형식으로 여러 테마 이름 반환 theme_selection=ttk.Frame(root,padding=(10,10)

계산기의 ac는 "모두 지우기" 키입니다. ac의 전체 영어 이름은 "모든 지우기 키"를 의미합니다. ac 키를 누르면 숫자 입력 중에 모든 레지스터의 값이 지워집니다. , 처음 누를 때 ac 키를 누르면 메모리 내용을 제외한 모든 값이 지워집니다.

프로그래머가 두려워하는 것이 있다면 아마도 그럴 것입니다. 요구 사항이 다시 변경되었습니다. 아니요, 작성자가 브라우저 기반 웹 애플리케이션을 개발한 후 고객은 다음과 같이 말했습니다. 프로그램에는 내부(없음) 부품이 필요합니다( network) ) 환경... 이것은 Python 환경을 설치할 수 없다는 것을 의미합니다! 누가 우리를 프로그래머라고 부르나요? 그냥 GUI 버전을 개발하는 것은 어떻습니까? 진정할 수 없었습니다... ...고객의 평가에 영향을 주지 않으려면 일주일밖에 시간을 주지 않습니다. GUI를 구상하는 것은 어렵지 않지만 서비스와 대화형 인터페이스를 정리해야 합니다! 그렇지 않다면 GUI를 위한 별도의 인터페이스를 작성해야 하는데, 이는 확실히 시간이 부족합니다. 아니요, 다른 방법을 생각해 봅시다...그렇지 않으면 그냥 웹을 사용할 수도 있습니다.

계산기의 e는 10의 거듭제곱을 나타내며, 이는 밑이 10인 지수를 의미합니다. 예를 들어, 1.99714E13은 19971400000000과 같습니다. 10의 n제곱을 곱한 형태로 숫자를 표현하는 것을 과학적 표기법이라고 합니다. : 크거나 작은 것을 많은 자릿수로 표시하거나 연산하고자 할 때, 과학적 표기법을 사용하면 많은 공간과 시간의 낭비를 피할 수 있습니다.

저주 가장 먼저 나타나는 것은 저주[1]입니다. CurseCurses는 텍스트 기반 터미널 창 기능을 제공하는 동적 라이브러리입니다. 전체 화면을 사용하여 창 생성 및 관리 8가지 색상 사용 프로그램에 대한 마우스 지원 제공 키보드의 기능 키 사용 저주는 모든 ANSI/POSIX에서 사용할 수 있습니다. 준수 표준 Unix/Linux 시스템에서 실행됩니다. Windows에서도 실행할 수 있지만 windows-curses 라이브러리를 추가로 설치해야 합니다. pip install windows-curses 위 그림은 Curses를 사용하는 친구가 작성했습니다.

일상 업무와 연구에서 우리는 파일 일괄 처리, 사진 일괄 처리 등과 같은 다양한 자동화 작업을 완료하기 위해 몇 가지 간단한 Python GUI 도구를 작성하는 경우가 많습니다. 우리는 이러한 도구를 작성할 때 기능 구현에만 초점을 맞추고 페이지의 미화를 무시하는 경우가 많습니다. 이로 인해 Python으로 작성된 GUI 프로그램이 상대적으로 눈에 띄지 않게 됩니다. 미화, 순수 Python으로 작성된 GUI 프로그램이 얼마나 아름다운지 살펴보겠습니다! 페이지 레이아웃 먼저 기본 GUI 레이아웃을 완성하고 16진수 변환 도구를 만든다고 가정하면 일반적인 레이아웃은 다음과 같습니다.

win10 시스템에는 많은 네티즌이 다운로드, 설치 및 사용하도록 유도하는 많은 강력한 기능이 있습니다. 또한 win10 계산기 도구와 같은 실용적인 장치도 많이 있습니다. 일부 네티즌들은 아직 Win10 계산기를 여는 방법을 모릅니다. Win10 계산기를 여는 방법을 가르쳐 드리겠습니다. 방법 1: 시작 메뉴에서 검색 1. Windows 10 시스템 바탕 화면에서 "시작/계산기" 메뉴 항목을 클릭합니다. 2. Windows 10의 계산기 창을 열 수 있습니다. 방법 2: Cortana 검색 열기 1. Windows 10 바탕 화면에서 작업 표시줄 왼쪽 하단에 있는 "Cortana 검색" 아이콘을 클릭합니다. 2. 검색할 팝업 메뉴에 "계산기"라는 키워드를 입력하고, 검색 결과에서 계산기 메뉴 항목을 클릭하세요.

그래픽 사용자 인터페이스(GUI) 그래픽 사용자 인터페이스(GUI)는 컴퓨터와 상호 작용하는 데 도움이 되는 데스크톱 응용 프로그램일 뿐입니다. 텍스트 편집기와 같은 GUI 응용 프로그램은 다양한 유형의 파일을 생성, 읽기, 업데이트 및 삭제할 수 있습니다. Solitaire, Chess 및 Solitaire와 같은 응용 프로그램은 GUI 프로그램의 게임 버전이며 Google Chrome, Firefox 및 Microsoft Edge와 같은 GUI 응용 프로그램은 우리 컴퓨터에서 사용하는 다양한 유형의 GUI 중 일부입니다. 실제로 우리는 Tkinter를 통해 간단하고 유사한 애플리케이션을 구축할 수도 있습니다. 오늘은 GUI에 대한 소개로 매우 간단한 애플리케이션을 만들어보겠습니다.
