日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python GUI計算器的實現(xiàn)

瀏覽:35日期:2022-07-08 18:36:15

01 實現(xiàn)

我們幾乎每個人都用過計算器,大家對于計算器應該都是比較熟悉的,計算器整體也是比較簡單的,主要包括:顯示器、鍵盤、運算的邏輯處理等,計算器的圖形界面我們使用 tkinter 庫實現(xiàn),下面看一下具體實現(xiàn)過程。

首先,我們畫一個主窗口,代碼實現(xiàn)如下:

# 創(chuàng)建主窗口tk = tkinter.Tk()# 設置窗口大小和位置tk.geometry(’300x210+500+200’)# 不允許改變窗口大小tk.resizable(False, False)# 設置窗口標題tk.title(’計算器’)

看一下效果:

python GUI計算器的實現(xiàn)

我們接著畫顯示器,代碼實現(xiàn)如下:

# 自動刷新字符串變量,可用 set 和 get 方法進行傳值和取值contentVar = tkinter.StringVar(tk, ’’)# 創(chuàng)建單行文本框contentEntry = tkinter.Entry(tk, textvariable=contentVar)# 設置文本框為只讀contentEntry[’state’] = ’readonly’# 設置文本框坐標及寬高contentEntry.place(x=20, y=10, width=260, height=30)

看一下效果:

python GUI計算器的實現(xiàn)

再接著畫鍵盤,代碼實現(xiàn)如下:

# 按鈕顯示內容bvalue = [’C’, ’+’, ’-’, ’//’, ’2’, ’0’, ’1’, ’√’, ’3’, ’4’, ’5’, ’*’, ’6’, ’7’, ’8’, ’.’, ’9’, ’/’, ’**’, ’=’]index = 0# 將按鈕進行 5x4 放置for row in range(5): for col in range(4): d = bvalue[index] index += 1 btnDigit = tkinter.Button(tk, text=d, command=lambda x=d: onclick(x)) btnDigit.place(x=20 + col * 70, y=50 + row * 30, width=50, height=20)

看一下效果:

python GUI計算器的實現(xiàn)

界面畫完了,我們看一下處理運算邏輯的代碼,如下所示:

# 點擊事件def onclick(btn): # 運算符 operation = (’+’, ’-’, ’*’, ’/’, ’**’, ’//’) # 獲取文本框中的內容 content = contentVar.get() # 如果已有內容是以小數(shù)點開頭的,在前面加 0 if content.startswith(’.’): content = ’0’ + content # 字符串可以直接用+來增加字符 # 根據(jù)不同的按鈕作出不同的反應 if btn in ’0123456789’: # 按下 0-9 在 content 中追加 content += btn elif btn == ’.’: # 將 content 從 +-*/ 這些字符的地方分割開來 lastPart = re.split(r’+|-|*|/’, content)[-1] if ’.’ in lastPart: # 信息提示對話框 tkinter.messagebox.showerror(’錯誤’, ’重復出現(xiàn)的小數(shù)點’) return else: content += btn elif btn == ’C’: # 清除文本框 content = ’’ elif btn == ’=’: try: # 對輸入的表達式求值 content = str(eval(content)) except: tkinter.messagebox.showerror(’錯誤’, ’表達式有誤’) return elif btn in operation: if content.endswith(operation): tkinter.messagebox.showerror(’錯誤’, ’不允許存在連續(xù)運算符’) return content += btn elif btn == ’√’: # 從 . 處分割存入 n,n 是一個列表 n = content.split(’.’) # 如果列表中所有的都是數(shù)字,就是為了檢查表達式是不是正確的 if all(map(lambda x: x.isdigit(), n)): content = eval(content) ** 0.5 else: tkinter.messagebox.showerror(’錯誤’, ’表達式錯誤’) return # 將結果顯示到文本框中 contentVar.set(content)

整體實現(xiàn)完了之后,我們來演示一下,看一下效果:

python GUI計算器的實現(xiàn)

是不是有內味了。

02 打包

為了更加方便的使用,我們可以將 Python 代碼打包成 exe 文件,打包我們使用 pyinstaller,安裝用 pip install pyinstaller 命令即可。

打包時我們使用 pyinstaller --onefile --nowindowed counter.py 命令即可,此時打包生成的文件是使用的默認圖標,如果我們想指定自己的圖標可以添加參數(shù) --icon='xxxxxx.ico',打包生成的文件在 dist 目錄。

如下圖所示:

python GUI計算器的實現(xiàn)

此時,我們直接運行 exe 文件就行了。

03 總結

本文我們使用 Python 實現(xiàn)了一個簡易的計算器,大家如果有興趣的話,可以嘗試添加更多的功能以及對鍵盤進行個性化修改。

以上就是python GUI計算器的實現(xiàn)的詳細內容,更多關于python 計算器的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩国产在线观看| 91精品视频一区二区| 日本视频在线一区| 国产日本久久| 免费国产自线拍一欧美视频| 国产精品一区二区美女视频免费看| 久久av免费看| 婷婷综合电影| 亚洲高清成人| 丝袜美腿一区| 国产一区二区三区探花| 亚洲精品无吗| 亚洲欧美成人综合| 国产伊人精品| 久久精品国内一区二区三区水蜜桃| 欧美精品97| 久久电影tv| 99视频精品视频高清免费| 亚洲在线免费| 亚洲一区二区三区四区五区午夜| 亚洲欧美网站在线观看| 亚洲免费观看| 国产精品久久乐| 欧美日韩国产免费观看| 午夜电影一区| 久久国产直播| 欧美激情麻豆| 亚洲欧美日韩综合国产aⅴ| 精品日韩一区| 日韩精品视频网站| 久久亚洲国产| 高清精品久久| 国产精品自在| 国产午夜久久av| 日韩中文欧美在线| 99热国内精品| 国产精选在线| 开心激情综合| 国产视频网站一区二区三区| 一区二区电影在线观看| 亚洲午夜电影| 日韩免费av| 精品欧美视频| 麻豆精品视频在线| 久久国内精品自在自线400部| 亚洲综合国产| 奶水喷射视频一区| 欧美综合二区| 亚洲精品在线二区| 亚洲三区欧美一区国产二区| 亚洲一区二区三区四区五区午夜| 在线观看精品| 久久蜜桃av| 亚洲一区成人| 免播放器亚洲| 亚洲精品乱码| 日韩在线黄色| 久久不卡日韩美女| 久久久精品区| 高清一区二区三区av| 亚洲不卡系列| 欧美精品自拍| 日韩av不卡一区二区| 国产精品一区二区三区av麻| 精品视频一二| 久久精品国内一区二区三区水蜜桃| 久久久久网站| 免费精品视频在线| 国产精品久久久网站| av高清不卡| 久久一级电影| 在线免费观看亚洲| 国产免费av国片精品草莓男男| 精品亚洲成人| 国产精品最新| 激情偷拍久久| se01亚洲视频| 亚洲欧洲美洲av| 日韩一区二区三区免费播放| 高潮一区二区| 亚洲免费网址| 久久国产66| 亚洲精品乱码日韩| 国产精品蜜芽在线观看| 亚洲欧美日韩高清在线| 电影91久久久| 久久精品1区| 亚洲一区日韩在线| 欧美亚洲网站| 国产免费久久| 欧美aaaaaa午夜精品| 国产精品13p| 91精品亚洲| 免费看的黄色欧美网站| 日韩欧美高清一区二区三区| 日韩av午夜在线观看| 日韩av一区二区三区| 欧美成人一二区| 欧美日韩在线观看视频小说| 亚洲91网站| 久久精品官网| 国产日韩高清一区二区三区在线 | 欧美永久精品| 国产videos久久| 亚洲欧美日韩综合国产aⅴ| 国产精品欧美三级在线观看| 久久av影视| 亚洲精品国产偷自在线观看| 欧美亚洲三区| 在线视频免费在线观看一区二区| 青青草国产成人99久久| 久久久一本精品| 国产精品欧美大片| 中文精品电影| 不卡av一区二区| 国产精品一区二区99| 婷婷精品进入| 精品久久久网| 日韩国产一区二| 香蕉久久久久久久av网站| 麻豆91在线播放| 亚洲精品一区三区三区在线观看| 国产一卡不卡| 亚洲精品日韩久久| 亚洲一区区二区| 日韩在线中文| 成人在线观看免费视频| 国产伦精品一区二区三区视频 | 成人片免费看| 99国产精品| 亚洲伊人av| 欧美三级第一页| 亚州av一区| 久久最新视频| 在线观看一区| 亚洲免费一区二区| 亚州精品视频| 天堂av一区| 老鸭窝毛片一区二区三区| 99视频精品全部免费在线视频| 四虎8848精品成人免费网站| 国产人成精品一区二区三| 日韩高清不卡在线| 国产精品天天看天天狠| 亚洲久草在线| 麻豆精品av| 国产成人精品一区二区三区视频| 美女毛片一区二区三区四区最新中文字幕亚洲| 成人国产精品久久| 国内亚洲精品| 日韩福利视频导航| 91中文字幕精品永久在线| 精品视频在线你懂得| 不卡福利视频| 蘑菇福利视频一区播放| 麻豆精品视频在线观看视频| 久久精品欧美一区| 欧美日韩视频免费看| 色老板在线视频一区二区| 国产视频一区在线观看一区免费| 国产中文字幕一区二区三区| 国产精品美女久久久| 国产福利片在线观看| 日本中文字幕不卡| 国产手机视频一区二区| 人人草在线视频| 麻豆精品在线| 午夜一级久久| 一本色道久久精品| 日韩三区免费| 日韩av一区二区在线影视| 91成人精品| 91欧美在线| 国产精品亚洲一区二区在线观看| 亚洲一区二区免费看| 精品成av人一区二区三区| 中文精品电影| 午夜免费一区| 日韩欧美网址| 91tv亚洲精品香蕉国产一区| 国产精品久久观看| 国产成人免费精品| 免费亚洲婷婷| 亚洲日本国产| 国产一区二区三区四区| 欧美sss在线视频| 日韩在线观看一区二区三区| 神马久久午夜| 日韩精品a在线观看91| 国产在线观看www| 国产精品一级在线观看| 在线免费观看亚洲| 四虎成人av| 免费精品一区| 久久国产精品免费精品3p| 中文视频一区| 中文字幕日本一区二区| 麻豆91精品| 免费视频一区二区| 美女少妇全过程你懂的久久|