首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Clinet [Number] PyQt5 Python输入文本错误

用Clinet [Number] PyQt5 Python输入文本错误
EN

Stack Overflow用户
提问于 2022-09-18 14:17:26
回答 1查看 27关注 0票数 0

我想以数字的形式从程序中的用户那里接收数据,但我不知道为什么会出错

代码语言:javascript
复制
    self.InputTotal = QtWidgets.QLineEdit(Form)
    self.InputTotal.setGeometry(QtCore.QRect(60, 20, 141, 31))
    self.InputTotal.setObjectName("InputTotal")
    chkinput = self.InputTotal.text()

只需要电话号码。

代码语言:javascript
复制
        if int(chkinput) == 0:
            ranger = 1000
        else:
            ranger = chkinput

       for i in range(ranger):
            self.btn_eth.clicked.connect(self.Generator)
EN

回答 1

Stack Overflow用户

发布于 2022-09-18 14:45:07

您面临的问题是,当您运行if int(chkinput) == 0时,它所做的只是检查转换为整数的chkinput变量是否等于零。它实际上并不将chkinput值转换为整数。

为此,您需要将转换后的值重新分配给变量名,如:chkinput = int(chkinput)

因此,当前,当chkinput不等于0时,将字符串值赋值给else子句中的ranger变量,这将在尝试将其用作范围时抛出一个错误。

您还应该添加一些额外的错误检查,这样您就不会遇到更多的问题。例如,您可以检查文本不是空字符串,然后使用.isdigit()方法检查内容是否为数字,然后如果返回true,则知道使用int构造函数时不引发错误是安全的。

代码语言:javascript
复制
chkinput = self.InputTotal.text()
if len(chkinput) > 0 and chkinput.strip().isdigit():
    chkinput = int(chkinput)
    if chkinput == 0:
        ranger = 1000
    else:
         ranger = chkinput
    for i in range(ranger):
        self.btn_eth.clicked.connect(self.Generator)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73763476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档