分离文件中的Python函数不工作

2024-10-05 14:22:04 发布

您现在位置:Python中文网/ 问答频道 /正文

在过去的几天里,我学了一点Python。现在,我尝试用PyQT制作GUI,我想在第二个名为untitled2的文件中编写包含函数的程序。该文件中有一个函数,用于检查文本编辑中是否插入了不同的数字或命令。当我在主文件中插入这个函数时,这个程序工作。但是当我在第二个文件(untitled2)中创建它并插入这个文件时,这个程序就不再工作了。A我完全不知道为什么

下面是一个没有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文件,所以我没有在这里编写它

非常感谢


Tags: 文件函数fromimport程序appchecksys
2条回答

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

# ...
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")

您不需要导入“untitled2”文件吗?现在您的代码显示您正在导入“untitled1”

from untitled1 import *获取from untitled2 import *

相关问题 更多 >