国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用PyQt5設(shè)計一款簡單的計算器

這篇具有很好參考價值的文章主要介紹了使用PyQt5設(shè)計一款簡單的計算器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、環(huán)境配置:

二、代碼實現(xiàn)

三、主程序

四、總結(jié)


????????本文使用PyQt5設(shè)計一款簡單的計算器,可以通過界面交互實現(xiàn)加減乘除的功能,希望能夠給初學(xué)者一些幫助。主要涉及的知識點有類的定義與初始化、類的成員函數(shù)、pyqt5的信號與槽函數(shù)等。

具體界面如下:

使用PyQt5設(shè)計一款簡單的計算器

一、環(huán)境配置:

使用pip指令安裝pyqt5,此處選擇5.12.0版本,因為筆者安裝的spyder版本為4.1.5,過高的版本不兼容:

pip install PyQt5==5.12.0 -i https://pypi.douban.com/simple
pip install PyQt5-tools -i https://pypi.douban.com/simple
pip install PyQt5designer -i https://pypi.douban.com/simple

二、代碼實現(xiàn)

1、引入依賴庫。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QGridLayout, QLineEdit, QPushButton
from PyQt5.QtCore import Qt

2、定義計算器(Calculator)類,成員函數(shù)的功能如下表所示。

函數(shù)名稱 函數(shù)功能

__init__()

初始化函數(shù),初始化窗口名稱、尺寸、按鈕名稱、位置、信號響應(yīng)函數(shù)等。

button_click(self, number)

選擇數(shù)字與小數(shù)點

button_clear(self)

實現(xiàn)屏幕以及緩存清空的功能

button_add(self)

實現(xiàn)兩個數(shù)相加的功能

button_subtract(self)

實現(xiàn)兩個數(shù)相減的功能

button_multiply(self)

實現(xiàn)兩個數(shù)相乘的功能

button_divide(self)

實現(xiàn)兩個數(shù)相除的功能

button_equal(self)

首先判斷執(zhí)行的運算操作,調(diào)用對應(yīng)的函數(shù)進行計算,并將結(jié)果顯示在文本框中
class Calculator(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("計算器")
        self.setFixedSize(300, 350)   # 固定窗口大小

        central_widget = QWidget(self)
        self.setCentralWidget(central_widget)

        main_layout = QGridLayout()
        central_widget.setLayout(main_layout)

        # 添加文本框
        self.screen = QLineEdit()
        self.screen.setFixedHeight(40)
        self.screen.setAlignment(Qt.AlignRight)
        self.screen.setReadOnly(True)
        main_layout.addWidget(self.screen, 0, 0, 1, 4)

        # 添加按鈕
        button_1 = QPushButton("1", clicked=lambda: self.button_click("1"))
        button_2 = QPushButton("2", clicked=lambda: self.button_click("2"))
        button_3 = QPushButton("3", clicked=lambda: self.button_click("3"))
        button_4 = QPushButton("4", clicked=lambda: self.button_click("4"))
        button_5 = QPushButton("5", clicked=lambda: self.button_click("5"))
        button_6 = QPushButton("6", clicked=lambda: self.button_click("6"))
        button_7 = QPushButton("7", clicked=lambda: self.button_click("7"))
        button_8 = QPushButton("8", clicked=lambda: self.button_click("8"))
        button_9 = QPushButton("9", clicked=lambda: self.button_click("9"))
        button_0 = QPushButton("0", clicked=lambda: self.button_click("0"))
        button_add = QPushButton("+", clicked=self.button_add)
        button_subtract = QPushButton("-", clicked=self.button_subtract)
        button_multiply = QPushButton("*", clicked=self.button_multiply)
        button_divide = QPushButton("/", clicked=self.button_divide)
        button_clear = QPushButton("清除", clicked=self.button_clear)
        button_equal = QPushButton("=", clicked=self.button_equal)

        main_layout.addWidget(button_7, 1, 0)
        main_layout.addWidget(button_8, 1, 1)
        main_layout.addWidget(button_9, 1, 2)
        main_layout.addWidget(button_divide, 1, 3)

        main_layout.addWidget(button_4, 2, 0)
        main_layout.addWidget(button_5, 2, 1)
        main_layout.addWidget(button_6, 2, 2)
        main_layout.addWidget(button_multiply, 2, 3)

        main_layout.addWidget(button_1, 3, 0)
        main_layout.addWidget(button_2, 3, 1)
        main_layout.addWidget(button_3, 3, 2)
        main_layout.addWidget(button_subtract, 3, 3)

        main_layout.addWidget(button_0, 4, 0)
        main_layout.addWidget(button_clear, 4, 1, 1, 2)
        main_layout.addWidget(button_add, 4, 3)

        main_layout.addWidget(button_equal, 5, 0, 1, 4)

        # 初始化變量
        self.first_num = None
        self.operation = None

    def button_click(self, number):
        current = self.screen.text()
        self.screen.setText(current + number)

    def button_clear(self):
        self.screen.clear()
        self.first_num = None
        self.operation = None

    def button_add(self):
        self.first_num = float(self.screen.text())
        self.screen.clear()
        self.operation = "add"

    def button_subtract(self):
        self.first_num = float(self.screen.text())
        self.screen.clear()
        self.operation = "subtract"

    def button_multiply(self):
        self.first_num = float(self.screen.text())
        self.screen.clear()
        self.operation = "multiply"

    def button_divide(self):
        self.first_num = float(self.screen.text())
        self.screen.clear()
        self.operation = "divide"

    def button_equal(self):
        second_num = float(self.screen.text())
        self.screen.clear()

        if self.operation == "add":
            result = self.first_num + second_num
        elif self.operation == "subtract":
            result = self.first_num - second_num
        elif self.operation == "multiply":
            result = self.first_num * second_num
        elif self.operation == "divide":
            if second_num == 0:
                result = "除數(shù)不能為 0"
            else:
                result = self.first_num / second_num

        self.screen.setText(str(result))

三、主程序

主程序首先創(chuàng)建窗口對象,接著創(chuàng)建計算器對象并顯示窗口,最后設(shè)定終止條件。

if __name__ == "__main__":
    app = QApplication(sys.argv)
    calc = Calculator()
    calc.show()
    sys.exit(app.exec_())

四、總結(jié)

這個計算器的優(yōu)點:

  • 采用了PyQt5模塊和Python語言進行設(shè)計,實現(xiàn)較為簡單,易于理解和修改。
  • 可以進行基本運算操作,包括加、減、乘、除等。

這個計算器的缺點:

  • 功能較為簡單,只能進行基礎(chǔ)的數(shù)學(xué)運算,無任何高級功能。
  • 輸入輸出僅支持?jǐn)?shù)字和基本的加減乘除運算符號,不支持其他字符、函數(shù)或變量。
  • 在除數(shù)為0時無法做出錯誤提示,故看起來好像可以除以0一樣。

綜上所述,該計算器適合作為一個小型的實驗項目或界面設(shè)計入門示例,但是并不夠強大,不能滿足更多復(fù)雜應(yīng)用場景的需求。文章來源地址http://www.zghlxwxcb.cn/news/detail-434879.html

到了這里,關(guān)于使用PyQt5設(shè)計一款簡單的計算器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 使用 JavaScript 創(chuàng)建一個簡單的計算器

    介紹: JavaScript 是一種廣泛應(yīng)用于網(wǎng)頁開發(fā)的腳本語言,它具有靈活、動態(tài)和強大的特性。本文將演示如何使用 JavaScript 創(chuàng)建一個簡單的計算器,并實現(xiàn)基本的加減乘除操作。 正文: javascript 解釋: 以上代碼是一個簡單的 HTML 頁面,其中包括兩個輸入框和四個按鈕,用于實

    2024年02月03日
    瀏覽(30)
  • 使用C語言構(gòu)造一個簡單計算器

    使用C語言構(gòu)造一個簡單計算器

    本節(jié)我們用小學(xué)生知識來制作一個簡單的計算器,可以運算加,減,乘,除,以及余數(shù)的運算。 在這節(jié)代碼中用到switch語句,因為要輸入運算符,所以注意%c的對應(yīng) 接下來上代碼: 這里的話我們簡單演示一下乘法的運算: 如果用其他的計算符號直接更改即可,這里使用雙精

    2024年02月12日
    瀏覽(26)
  • 使用Vue三種方法實現(xiàn)簡單計算器

    使用Vue三種方法實現(xiàn)簡單計算器

    代碼實現(xiàn)了一個簡單的計算器,用戶可以在輸入框中輸入兩個數(shù)字,選擇一個操作符,并點擊“等于”按鈕,Vue.js會根據(jù)用戶的輸入進行計算,并將結(jié)果顯示在另一個輸入框中。 以下是效果圖 第一種:使用methods方法實現(xiàn) 1:首先,引入Vue.js庫。在代碼中使用了script 標(biāo)簽引入

    2024年02月08日
    瀏覽(35)
  • 使用Python編寫簡單的小程序、成績計算器

    使用Python編寫簡單的小程序、成績計算器

    成績計算器程序需要兩個分?jǐn)?shù),以百分比表示 - 一個用于項目,一個用于考試。 項目和考試都為最終評估成績貢獻了50%。 程序應(yīng)從中計算出總體百分比,并使用下表中的數(shù)據(jù)計算出最終成績: 例 項目分?jǐn)?shù) - 78%,考試分?jǐn)?shù) - 65%。 最終成績 = 71.5% ((78 + 65)*0.5),最終成績

    2024年02月11日
    瀏覽(22)
  • 基于Android Studio 實現(xiàn)計算器(簡單易上手使用技術(shù)多)

    基于Android Studio 實現(xiàn)計算器(簡單易上手使用技術(shù)多)

    ?? 文章末尾有獲取完整項目源碼方式 ?? ????????本項目是一個基于Android Studio和Java語言開發(fā)的簡單計算器應(yīng)用。應(yīng)用包含啟動頁面、登陸注冊頁面、首頁、計算器頁面和我的頁面等多個功能模塊。 ????????通過這個項目的實踐,希望這個項目能夠幫助你入門Android開

    2024年04月12日
    瀏覽(27)
  • 【簡單】使用ChatGPT和QT從零開始構(gòu)建一個計算器應(yīng)用

    【簡單】使用ChatGPT和QT從零開始構(gòu)建一個計算器應(yīng)用

    在這篇博文中,我將向大家展示如何使用ChatGPT和Qt來構(gòu)建一個完整的計算器應(yīng)用。我們將從零開始,逐步引導(dǎo)您完成整個項目,包括需求分析、軟件設(shè)計、代碼編寫等環(huán)節(jié)。該項目代碼全部由GPT編寫,10分鐘完成。 本項目旨在使用ChatGPT和Qt技術(shù)構(gòu)建一個功能完備的計算器應(yīng)用。

    2024年02月11日
    瀏覽(26)
  • 移動開發(fā)作業(yè)三:使用Android studio來實現(xiàn)簡單的計算器

    移動開發(fā)作業(yè)三:使用Android studio來實現(xiàn)簡單的計算器

    一.實驗要求 結(jié)合所學(xué)內(nèi)容利用Android studio來設(shè)計一個開發(fā)實例,這里去我選擇做一個簡易的計算器,可以初步實現(xiàn)加減乘除。 二.實驗功能 該計算器與我們平常手機上的計算器一樣,可以進行加減乘除操作。 三.實驗過程 1.首先是關(guān)于計算器的布局 在layout文件下的drawable文件

    2024年02月02日
    瀏覽(93)
  • Python小姿勢 - Python學(xué)習(xí)筆記:如何使用Python創(chuàng)建一個簡單的計算器

    Python小姿勢 - Python學(xué)習(xí)筆記:如何使用Python創(chuàng)建一個簡單的計算器

    Python學(xué)習(xí)筆記:如何使用Python創(chuàng)建一個簡單的計算器 在本教程中,我們將學(xué)習(xí)如何使用Python創(chuàng)建一個簡單的計算器。我們將學(xué)習(xí)如何使用Python的內(nèi)置函數(shù)input()和print(),以及如何使用Python的運算符來完成這個項目。 首先,讓我們來看看如何使用input()函數(shù)來獲取用戶輸入。i

    2024年02月01日
    瀏覽(35)
  • AndroidStudio案例——簡單計算器

    AndroidStudio案例——簡單計算器

    ??????????? 設(shè)計一款帶有可視化界面的簡單計算器,供用戶輸入數(shù)據(jù)并查看結(jié)果。用戶通過點擊相應(yīng)按鈕(加減乘除運算符、等號、數(shù)字)輸入正確的表達式,計算器進行相應(yīng)的加減乘除運算,且可以進行小數(shù)和整數(shù)的運算;長按清除按鈕3秒,可以清除已錄入的內(nèi)容。

    2024年02月02日
    瀏覽(21)
  • Qt實現(xiàn)簡單計算器

    Qt實現(xiàn)簡單計算器

    三級項目想用Qt做界面。 為了熟悉一下Qt操作,歷時8h做了個計算器。 沒用到數(shù)據(jù)庫,布的控件也比較簡單。 所以calculator.pro和widget.ui就不放了(太長了占地方) 文件壓縮包放在下一篇了,需要自取。 自學(xué)時間較短,有很多不足歡迎指正。 ?:del按鍵上的圖片用的是絕對路

    2024年02月11日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包