欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python PyQt5實(shí)現(xiàn)的簡(jiǎn)易計(jì)算器功能示例

 更新時(shí)間:2017年08月23日 12:14:44   作者:羅兵  
這篇文章主要介紹了Python PyQt5實(shí)現(xiàn)的簡(jiǎn)易計(jì)算器功能,涉及Python PyQt5事件響應(yīng)及數(shù)學(xué)運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python PyQt5實(shí)現(xiàn)的簡(jiǎn)易計(jì)算器功能。分享給大家供大家參考,具體如下:

這里剩下計(jì)算函數(shù)(self.calculator)未實(shí)現(xiàn),有興趣的朋友可以實(shí)現(xiàn)它

【知識(shí)點(diǎn)】

1、利用循環(huán)添加按鈕部件,及給每個(gè)按鈕設(shè)置信號(hào)/槽
2、給按鈕設(shè)置固定大?。?code>button.setFixedSize(QtCore.QSize(60,30))
3、取事件的的發(fā)送者(此例為各個(gè)按鈕)的文本: self.sender().text()

【效果圖】

【源代碼】

import sys
from PyQt5 import QtWidgets,QtCore,QtGui
class Example(QtWidgets.QWidget):
 def __init__(self):
  super(Example, self).__init__()
  self.initUI()
  self.reset()
 def initUI(self):
  self.setWindowTitle('簡(jiǎn)易計(jì)算器')
  grid = QtWidgets.QGridLayout()
  self.display = QtWidgets.QLineEdit('0')
  self.display.setFont(QtGui.QFont("Times", 20))
  self.display.setReadOnly(True)
  self.display.setAlignment(QtCore.Qt.AlignRight)
  self.display.setMaxLength(15)
  grid.addWidget(self.display,0,0,1,4)
  names = ['Clear', 'Back', '', 'Close', 
    '7', '8', '9', '/',
    '4', '5', '6', '*', 
    '1', '2', '3', '-',
    '0', '.', '=', '+']
  pos = [(0, 0), (0, 1), (0, 2), (0, 3),
    (1, 0), (1, 1), (1, 2), (1, 3),
    (2, 0), (2, 1), (2, 2), (2, 3),
    (3, 0), (3, 1), (3, 2), (3, 3 ),
    (4, 0), (4, 1), (4, 2), (4, 3)]
  c = 0
  for name in names:
   button = QtWidgets.QPushButton(name)
   button.setFixedSize(QtCore.QSize(60,30))
   button.clicked.connect(self.buttonClicked) # 給每個(gè)按鈕設(shè)置信號(hào)/槽
   if c == 2:
    pass
    #grid.addWidget(QtWidgets.QLabel(''), 0, 2) #替換 第三個(gè)按鈕 為 文本標(biāo)簽!
   else: 
    grid.addWidget(button, pos[c][0]+1, pos[c][1])
   c = c + 1
  self.setLayout(grid)
 def buttonClicked(self): 
  #sender = self.sender(); # 確定信號(hào)發(fā)送者
  #self.display.setText(sender.text())
  text = self.sender().text()
  if text in '+-*/':
   self.history.append(self.number) # 數(shù)字入棧
   self.history.append(text) # 運(yùn)算符入棧
   self.operator = text # 設(shè)置當(dāng)前運(yùn)算符
   self.number = "" # 數(shù)字清空
   self.numberType = "int"
   return
  elif text == "=":
   self.calculate() # 計(jì)算
  elif text == "Back":
   pass
  elif text == "Clear":
   self.reset()
  elif text == "Close":
   self.close()
  elif text == ".":
   if self.numberType == "int":
    self.number += text
    self.numberType = "float"
  else:
   self.number = self.number + text if self.number != "0" else text
  self.display.setText(self.number)
 def calculate(self):
  pass
 def reset(self):
  self.number = "0"
  self.result = 0
  self.history = []
  self.operator = '' # +,-,*,/
  self.numberType = 'int' # int與float兩種,如果輸入了小數(shù)點(diǎn)則為實(shí)數(shù)
app = QtWidgets.QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())

PS:這里再為大家推薦幾款計(jì)算工具供大家進(jìn)一步參考借鑒:

在線一元函數(shù)(方程)求解計(jì)算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科學(xué)計(jì)算器在線使用_高級(jí)計(jì)算器在線計(jì)算:
http://tools.jb51.net/jisuanqi/jsqkexue

在線計(jì)算器_標(biāo)準(zhǔn)計(jì)算器:
http://tools.jb51.net/jisuanqi/jsq

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python自動(dòng)化測(cè)試之破解圖文驗(yàn)證碼

    python自動(dòng)化測(cè)試之破解圖文驗(yàn)證碼

    這篇文章介紹了python自動(dòng)化測(cè)試之破解圖文驗(yàn)證碼的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Python通過(guò)wordcloud庫(kù)實(shí)現(xiàn)將單詞生成詞云

    Python通過(guò)wordcloud庫(kù)實(shí)現(xiàn)將單詞生成詞云

    Python的wordcloud庫(kù)是一個(gè)用于生成詞云的Python包,它可以將一段文本中出現(xiàn)頻率高的單詞按其出現(xiàn)頻率大小以及顏色深淺排列成一個(gè)詞云圖形,從而更好地展示文本中的信息,你可以使用wordcloud庫(kù)來(lái)生成各種類(lèi)型的詞云,本文就介紹了如何生成心型詞云
    2023-06-06
  • python讀取目錄下所有的jpg文件,并顯示第一張圖片的示例

    python讀取目錄下所有的jpg文件,并顯示第一張圖片的示例

    今天小編就為大家分享一篇python讀取目錄下所有的jpg文件,并顯示第一張圖片的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • python利用paramiko實(shí)現(xiàn)交換機(jī)巡檢的示例

    python利用paramiko實(shí)現(xiàn)交換機(jī)巡檢的示例

    這篇文章主要介紹了python利用paramiko實(shí)現(xiàn)交換機(jī)巡檢,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Python標(biāo)準(zhǔn)庫(kù)內(nèi)置函數(shù)complex介紹

    Python標(biāo)準(zhǔn)庫(kù)內(nèi)置函數(shù)complex介紹

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)內(nèi)置函數(shù)complex介紹,本文先是講解了complex的作用和使用注意,然后給出了使用示例,需要的朋友可以參考下
    2014-11-11
  • python?dataframe獲得指定行列簡(jiǎn)單例子

    python?dataframe獲得指定行列簡(jiǎn)單例子

    在DataFrame中取特定行列的數(shù)據(jù)是一個(gè)常見(jiàn)的操作,這篇文章主要給大家介紹了關(guān)于python?dataframe獲得指定行列的簡(jiǎn)單例子,需要的朋友可以參考下
    2024-03-03
  • PyCharm代碼格式調(diào)整方法

    PyCharm代碼格式調(diào)整方法

    今天小編就為大家分享一篇PyCharm代碼格式調(diào)整方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python字符串替換實(shí)例分析

    Python字符串替換實(shí)例分析

    這篇文章主要介紹了Python字符串替換的方法,實(shí)例對(duì)比分析了單個(gè)字符替換與字符串替換的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • Python實(shí)現(xiàn)數(shù)據(jù)的序列化操作詳解

    Python實(shí)現(xiàn)數(shù)據(jù)的序列化操作詳解

    在日常開(kāi)發(fā)中,對(duì)數(shù)據(jù)進(jìn)行序列化和反序列化是常見(jiàn)的數(shù)據(jù)操作,Python提供了兩個(gè)模塊方便開(kāi)發(fā)者實(shí)現(xiàn)數(shù)據(jù)的序列化操作,即?json?模塊和?pickle?模塊。本文就為大家詳細(xì)講解這兩個(gè)模塊的使用,需要的可以參考一下
    2022-07-07
  • Python中列表遍歷使用range和enumerate的區(qū)別講解

    Python中列表遍歷使用range和enumerate的區(qū)別講解

    這篇文章主要介紹了Python中列表遍歷使用range和enumerate的區(qū)別,在Python編程語(yǔ)言中,遍歷list有range和enumerate方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12

最新評(píng)論