Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivy的Spinner首先打开了自己的窗口_Python_Kivy - Fatal编程技术网

Python Kivy的Spinner首先打开了自己的窗口

Python Kivy的Spinner首先打开了自己的窗口,python,kivy,Python,Kivy,我是新的编码,所以不要杀了我,因为我确信这是一个愚蠢的错误,但是,我有一个微调器工作,但当我启动代码时,一个只有微调器的窗口弹出。当我关闭该窗口时,现在我的代码运行起来就像我添加微调器之前一样,它会按照我的需要进入登录页面,微调器也在我想要的地方。我只是不知道为什么一开始它会自动打开一个窗口。不确定问题出在哪里,所以我发布了我的全部代码。 我的代码: 我正在使用kivy 1.11.1和windows 10 from kivy.app import App from kivy.lang impor

我是新的编码,所以不要杀了我,因为我确信这是一个愚蠢的错误,但是,我有一个微调器工作,但当我启动代码时,一个只有微调器的窗口弹出。当我关闭该窗口时,现在我的代码运行起来就像我添加微调器之前一样,它会按照我的需要进入登录页面,微调器也在我想要的地方。我只是不知道为什么一开始它会自动打开一个窗口。不确定问题出在哪里,所以我发布了我的全部代码。 我的代码:

我正在使用kivy 1.11.1和windows 10
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import ObjectProperty
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from database import DataBase
from kivy.base import runTouchApp
from kivy.uix.spinner import Spinner


class CreateAccountWindow(Screen):
    namee = ObjectProperty(None)
    email = ObjectProperty(None)
    password = ObjectProperty(None)

 def submit(self):
 if self.namee.text != "" and self.email.text != "" and self.email.text.count("@") == 1 and self.email.text.count(".") > 0:
 if self.password != "":
                db.add_user(self.email.text, self.password.text, self.namee.text)

 self.reset()

                sm.current = "login"
 else:
                invalidForm()
 else:
            invalidForm()

 def login(self):
 self.reset()
        sm.current = "login"

 def reset(self):
 self.email.text = ""
 self.password.text = ""
 self.namee.text = ""


class LoginWindow(Screen):
    email = ObjectProperty(None)
    password = ObjectProperty(None)

 def loginBtn(self):
 if db.validate(self.email.text, self.password.text):
            MainWindow.current = self.email.text
 self.reset()
            sm.current = "main"
 else:
            invalidLogin()

 def createBtn(self):
 self.reset()
        sm.current = "create"

 def reset(self):
 self.email.text = ""
 self.password.text = ""


class MainWindow(Screen):
    n = ObjectProperty(None)
    created = ObjectProperty(None)
    email = ObjectProperty(None)
    current = ""

 def logOut(self):
        sm.current = "login"

 def on_enter(self, *args):
        password, name, created = db.get_user(self.current)
 self.n.text = "Account Name: " + name
 self.email.text = "Email: " + self.current
 self.created.text = "Created On: " + created


class WindowManager(ScreenManager):
 pass


def invalidLogin():
    pop = Popup(title='Invalid Login',
 content=Label(text='Invalid username or password.'),
 size_hint=(None, None), size=(400, 400))
    pop.open()


def invalidForm():
    pop = Popup(title='Invalid Form',
 content=Label(text='Please fill in all inputs with valid information.'),
 size_hint=(None, None), size=(400, 400))

    pop.open()


spinner = Spinner(
 # default value shown
 text='-',
 # available values
 values=('Calendar', '2 Week Calendar', 'Calendar of Faces'),
 # positioning
 size_hint=(None, None),
 size=(100, 44),
 pos_hint={'center_x': .07, 'center_y': .96})

def show_selected_value(spinner, text):
 print('The spinner', spinner, 'has text', text)

spinner.bind(text=show_selected_value)

def MoveScreen(text):
 if text == "Calendar":
        sm.current = "Calendar"

runTouchApp(spinner)


class Calendar(Screen):
    CalLink = ObjectProperty(None)
 pass
 


# class CalendarZoom(Screen):

#     def 
 

# class WorkoutCal(Screen):

#     def 
 

# class FaceCal(Screen):

#     def 


# class Clothes(Screen):

#     def 


# class Workout(Screen):

#     def 
 
# class Automation(Screen):

#     def 
 

# class Statistics(Screen):

#     def 
 

# class Settings(Screen):

#     def 


kv = Builder.load_file("my.kv")

sm = WindowManager()
db = DataBase("users.txt")

screens = [LoginWindow(name="login"), CreateAccountWindow(name="create"),MainWindow(name="main"), Calendar(name="Calendar")]
for screen in screens:
    sm.add_widget(screen)

sm.current = "login"

class MyMainApp(App):
 def build(self):
 return sm


if __name__ == "__main__":
    MyMainApp().run()