Python_PyQt5入门系列1:LineEdit的读取与写入(后台计算)

Python_PyQt5入门系列1:LineEdit的读取与写入(后台计算),第1张

通过实现任意两个经纬度计算两点之间的距离为例子

程序生成截图:

#以下是GUI图形界面的创建

from PyQt5import QtCore, QtGui, QtWidgets

from mathimport

class Ui_MainWindow(object):

def setupUi(self, MainWindow):

MainWindowsetObjectName("MainWindow")

MainWindowresize(800, 599)

selfcentralwidget = QtWidgetsQWidget(MainWindow)

selfcentralwidgetsetObjectName("centralwidget")

selflabel_2 = QtWidgetsQLabel(selfcentralwidget)

selflabel_2setGeometry(QtCoreQRect(70, 90, 41, 16))

selflabel_2setObjectName("label_2")

selflabel_5 = QtWidgetsQLabel(selfcentralwidget)

selflabel_5setGeometry(QtCoreQRect(70, 150, 41, 9))

selflabel_5setObjectName("label_5")

selflabel_6 = QtWidgetsQLabel(selfcentralwidget)

selflabel_6setGeometry(QtCoreQRect(50, 230, 41, 9))

selflabel_6setObjectName("label_6")

selflabel_3 = QtWidgetsQLabel(selfcentralwidget)

selflabel_3setGeometry(QtCoreQRect(270, 90, 41, 16))

selflabel_3setObjectName("label_3")

selflabel_7 = QtWidgetsQLabel(selfcentralwidget)

selflabel_7setGeometry(QtCoreQRect(270, 150, 41, 9))

selflabel_7setObjectName("label_7")

selflineEdit = QtWidgetsQLineEdit(selfcentralwidget)

selflineEditsetGeometry(QtCoreQRect(50, 110, 71, 31))

selflineEditsetObjectName("lineEdit")

selflineEdit_2 = QtWidgetsQLineEdit(selfcentralwidget)

selflineEdit_2setGeometry(QtCoreQRect(50, 170, 71, 31))

selflineEdit_2setObjectName("lineEdit_2")

selflineEdit_3 = QtWidgetsQLineEdit(selfcentralwidget)

selflineEdit_3setGeometry(QtCoreQRect(250, 110, 71, 31))

selflineEdit_3setObjectName("lineEdit_3")

selflineEdit_4 = QtWidgetsQLineEdit(selfcentralwidget)

selflineEdit_4setGeometry(QtCoreQRect(250, 170, 71, 31))

selflineEdit_4setObjectName("lineEdit_4")

selflineEdit_5 = QtWidgetsQLineEdit(selfcentralwidget)

selflineEdit_5setGeometry(QtCoreQRect(80, 220, 71, 31))

selflineEdit_5setObjectName("lineEdit_5")

selfpushButton = QtWidgetsQPushButton(selfcentralwidget)

selfpushButtonsetGeometry(QtCoreQRect(170, 300, 56, 17))

selfpushButtonsetObjectName("pushButton")

MainWindowsetCentralWidget(selfcentralwidget)

selfmenubar = QtWidgetsQMenuBar(MainWindow)

selfmenubarsetGeometry(QtCoreQRect(0, 0, 800, 18))

selfmenubarsetObjectName("menubar")

MainWindowsetMenuBar(selfmenubar)

selfstatusbar = QtWidgetsQStatusBar(MainWindow)

selfstatusbarsetObjectName("statusbar")

MainWindowsetStatusBar(selfstatusbar)

selfretranslateUi(MainWindow)

selfpushButtonclickedconnect(selfbtnshanbing_click)

QtCoreQMetaObjectconnectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):

_translate = QtCoreQCoreApplicationtranslate

MainWindowsetWindowTitle(_translate("MainWindow", "MainWindow"))

selflabel_2setText(_translate("MainWindow", "经度"))

selflabel_5setText(_translate("MainWindow", "经度"))

selflabel_6setText(_translate("MainWindow", "距离"))

selflabel_3setText(_translate("MainWindow", "经度"))

selflabel_7setText(_translate("MainWindow", "经度"))

selfpushButtonsetText(_translate("MainWindow", "确定"))

#以下是btnshanbing_click信号的槽函数

def btnshanbing_click(self):

#以下是将文本框里面的内容读取出来同时将里面的类型转换为浮点型

a=float(selflineEdittext())

c=float(selflineEdit_2text())

b=float(selflineEdit_3text())

d=float(selflineEdit_4text())

#以下是经纬度计算公式

e=(acos(sin(b pi /180) sin(d pi /180) + cos(c pi /180 - a pi /180) cos(b pi /180) cos(d pi /180)))6371004

#以下是将计算的结果生成在LineEdit_5里面去,但是要注意的是必须将计算的结果转换为字符型,否则程序运行不起来

       selflineEdit_5setText(str(e))

主程序:

selflineEdittext():读取文本框里面的内容,但是要做计算必须转换为float(selflineEdittext())浮点型才能做运算,否则不能运算

selflineEdit_5setText(str()):将计算的结果生成在另一个文本框里面必须转换为字符型,否则程序会报错。

综上所述:lineEdittext()的返回类型为文本型

贴出来的这个自定义函数和问题中的Qwidget类有什么关系呢,看不出来。把完整的代码贴出来更便于解决你的疑惑。

我试着理解一下你的问题,看能不能对你有些帮助:

(1)Qwidget类在pyqt5模块中已经定义好了,因此在调用创建实例时,不需要进行任何设置即可创建成功并可使用;

(2)如你是对Qwidget中的某些参数或方法进行重新定义,你的这个自定义函数只是给Qwidget类新添加了一个函数,模块中原始的参数和方法没有变动,原逻辑还是会继续在创建实例时执行,因此仍可创建实例成功并运行。

Qt有开源版本,也有商业版本

开源版本必须遵循相关开源协议而商业版本Digia会提供技术支持,但是要钱的

Src是包含源码由于VS2008和VS2010的msvc编译版本不同,所以会存在两个版本mingw只是个包含win环境下g编译器的工具集而已

由于Qt纯C环境,msvc和mingw都可以编译如果你是在VS环境下,只需要下载vs-addin和(vs-)即可两个安装完成你就可以在VS上创建你的Qt项目了而如果你想直接用Qt的IDE,就是QtCreator,你下载之后,下载(any),QtCreator可以配置编译器的

这些都不需要你直接去make,因为这些下载好了是包含相应的动态链接库的

点击Download菜单,然后找到左边导航的"Software Catalogue"栏目,点击进入,从列表中选择"Drivers and interfaces"分类,在载入的驱动和接口列表中选择"psqlJDBC",这就是postgreSQLd的JDBC驱动(直接连接

更新或者重新安装一个模块。

Python已经成为最受欢迎的程序设计语言之一。

自从2004年以后,python的使用率呈线性增长。

由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。

例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。

以上就是关于Python_PyQt5入门系列1:LineEdit的读取与写入(后台计算)全部的内容,包括:Python_PyQt5入门系列1:LineEdit的读取与写入(后台计算)、在进行Pyqt5进行GUI开发时;为什么Qwidget类中的函数体为空,还可以创建实例,调用的函数时怎执行的、《pyqt5快速开发与实战》PDF_pyqt5从入门到实践等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10180128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存