ImportError:无法从“用户”导入名称“用户”

时间:2019-05-15 03:47:06

标签: python tkinter import

好人,据您了解,我正在做2个文件。但是,当我进入Y文件并导入X时,它就会运行,它具有正常的屏幕操作。现在当我在X中导入Y时,已经将X导入到Y中,它将返回此错误。简而言之,我很快就上了系统,但是当我要注销(返回登录窗口)时,不会让我退出。

我什么也没尝试,因为我不知道该怎么办。

from app import loginUser

class Users:

   def __init__(self,window):      
      # Criando o sistema
      self.wind = window
      self.wind.title("System F2T")

 from user import Users

 class loginUser:
 #Metodo de inicio ao sistema de login
   def __init__(self, window, master=None):   
      # Criando o sistema de login
       self.wind = window
       self.wind.title("System F2T")

希望您能对我有所帮助,因为我已停止在此工作。我放置了一段代码,以便了解我正在进行彼此之间的交互

2 个答案:

答案 0 :(得分:1)

您只需要导入不需要导入类的模块/文件。在您想使用loginuser类的任何地方,请将app.loginUser()类的user.Users()Users用于import app class Users: def __init__(self,window): return app.loginUser() 类。下面的代码对我来说很好:

import user
class loginUser:
   def __init__(self, window, master=None):  
       return user.Users()

  function updateinputfield() {
    var x = document.getElementById("apninput");
    if (x.value.length < 36) {
      x.style.width = ((x.value.length) * 0.63) + 'rem';
    }
  }

  function moveUpPlaceholder() {
    var y = document.getElementById("floatingLabel");
    y.classList.add("labelMoveUp");
    y.innerHTML = "Insert Your Code";
    y.style.color = "rgba(0, 0, 0, 0.85)";
  }

  function moveDownPlaceholder() {
    var x = document.getElementById("apninput");
    var y = document.getElementById("floatingLabel");
    if (x.value.length == 0) {
      y.classList.remove("labelMoveUp");
      y.innerHTML = "Ex. 953-123-444-323";
      y.style.color = "rgba(0, 0, 0, 0.35)";
    }
  }




  function getvalueofInput() {
    var x = document.getElementById("apninput").value;
    alert(x);
  }

答案 1 :(得分:1)

您的问题还不清楚,您说“它给我返回了此错误”,但没有提供您遇到的错误。据我所知,您应该会得到错误:ImportError: cannot import name 'loginUser' from 'app' (C:\User\ProjectName\app.py)

之所以发生此错误,是因为您试图将Users中的user.py导入app.py,并且还试图将loginUser中的app.py导入{{ 1}}。这是一个导入循环,并导致错误。

  

简而言之,如果users.pyuser.py不能依赖app.py的代码   也依靠app.py本身。

解决此错误的一种方法是将loginUser导入到User内部所需的特定功能中(或者反之,取决于您的两个类需要做什么)。

例如-如果“用户”对象需要在名为user.py的函数中创建新的loginUser,则这两个文件如下所示:

createUser()
# app.py

from user import Users

class loginUser:
 #Metodo de inicio ao sistema de login
   def __init__(self, window, master=None):   
      # Criando o sistema de login
       self.wind = window
       self.wind.title("System F2T")