我檢查了此錯誤的其他已回答問題,但是,我無法解決我遇到的特定問題。因此我想在這里問:
希望你們都做得很好。
我正在嘗試創建一個簡單的 Kivy GUI,我將在其中顯示實時資料變數。作為身份驗證,我想創建一個登錄螢屏,但是,我無法讓它作業。這是我的代碼如下:
import mysql.connector
from mysql.connector import Error
from kivy.lang import Builder
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.clock import Clock
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
Builder.load_string("""
<LVAD_GUIDemo>:
name: "login_page"
BoxLayout:
TextInput:
id: username
TextInput:
id: password
password: True # hide password
Button:
text: "Giri? Yap"
on_release: root.verify_credentials()
""")
class LVAD_GUIDemo:
def __init__(self, **kwargs):
super(LVAD_GUIDemo, self).__init__(**kwargs)
self.anchor_x = 'right'
self.anchor_y = 'top'
self.cols = 1
def build(self):
global username, password
username = TextInput(text="Kullan?c? Ad?:", width=6, height=3)
password = TextInput(text="?ifre:", width=6, height=3)
username.size_hint = (1,0.06)
self.add_widget(username)
password.size_hint = (1,0.06)
self.add_widget(password)
touchBarbtn1 = Button(text='Giri? Yap', size_hint_y=0.05,size_hint_x=1)
touchBarbtn1.bind(on_press=lambda x: self.deneme)
self.add_widget(touchBarbtn1)
self.update_view()
def deneme(self):
print("ehe")
def verifyCred(self):
if self.ids["username"].text == "kaan" and self.ids["password"].text == "kaan1999":
self.manager.current = "user"
class LVAD_GUIDemoApp(App):
def build(self):
return LVAD_GUIDemo()
if __name__ == '__main__':
LVAD_GUIDemoApp().run()
當我運行上面的代碼時,我收到以下錯誤:
[CRITICAL] App.root 必須是Widget的實體..... raise Exception('Invalid instance in App.root') Exception: Invalid instance in App.root
這是什么原因?我查找了包含相同錯誤的帖子,但是,大多數錯誤是由回傳類物件而不是小部件引起的。但是,我確保通過添加括號來回傳一個小部件。
uj5u.com熱心網友回復:
您的課程LVAD_GUIDemo不是Widget. 它應該擴展一些Widget類。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/312900.html
