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

问题描述 投票:0回答:1

最近几天,我学到了一点Python。现在,我尝试使用PyQT制作GUI,我想将包含函数的程序编写在名为untitled2的第二个文件中。此文件中的功能是检查文本编辑器中是否插入了其他数字。当我在主文件中插入此函数时,此程序将起作用。但是,当我在第二个文件(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文件,所以我没有在这里写它。

非常感谢。

python pyqt pyqt5
1个回答
0
投票

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

# ...
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")
© www.soinside.com 2019 - 2024. All rights reserved.