Python-分离文件中的函数不起作用

标签 python pyqt pyqt5

最近几天我学了一点Python。现在我尝试使用 PyQT 制作一个 GUI,并且我想使用第二个名为 untitled2.txt 的文件中的函数编写程序。该文件中有一个函数,用于检查文本编辑中是否插入了不同的数字。当我在主文件中插入这个函数时,这个程序就可以工作。但是当我将其放入第二个文件(untitled2)并插入该文件时,该程序不再工作。完全不知道为什么......

这是没有 GUI 程序代码的小示例。

主文件:

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.uic import *
from PyQt5.QtWidgets import QApplication, QMainWindow
from untitled1 import *


app = QApplication(sys.argv)
w = loadUi('testprogramgui.ui')


w.Button_button_1.clicked.connect(check)

w.show()
sys.exit(app.exec_())

这是带有以下功能的文件 untitled2:

def check():

    try:
        insert= w.insertValue1.text()
        insert2= float(insert)
        #check to control
        print(insert2, type(insert2))

    except:
        print("no number")

也许有人知道如何解决这个问题?我认为你不需要 gui 文件,所以我没有在这里写它。

提前非常感谢。

最佳答案

每个模块必须独立于另一个模块,每个功能也必须独立,因此在您的情况下,“检查”功能不应考虑文本中信息的来源,因此我们使用“检查”功能接收信息:

# ...
app = QApplication(sys.argv)
w = loadUi('testprogramgui.ui')

def on_clicked():
    check(w.insertValue1.text())

w.Button_button_1.clicked.connect(on_clicked)

w.show()
sys.exit(app.exec_())
def check(insert):
    try:
        insert2= float(insert)
        #check to control
        print(insert2, type(insert2))

    except:
        print("no number")

关于Python-分离文件中的函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60042001/

相关文章:

python - 需要 Python 在我的程序中注册用户输入

qt - PyQt(或简称 QT)。如何让 QComboBox 在设置值(即使未更改)时触发信号

python - Pyqt5 多窗口 - 如何防止窗口切换?

python - 如何使用转换库管理 python fsm 中的状态转换

python - 在opencv python中创建透明图像

python - 使用 Qt 样式表更改状态更改时的图标

python - PyQT 用户可编辑多边形

python - PyQt5 从主模块外部实时登录 QTextedit

python - 使用 concurrent.futures.ThreadPoolExecutor() 时 PyQt5 小部件 Qthread 问题

python - 嵌套参数化测试(pytest)