sqlite - 在kivy中访问类之间的对象属性
问题描述
此处的这段代码创建了一个按钮的滚动视图,以允许我从不同的“票证”列表中进行选择
SearchResultButton(Button(text=str(Datarray2[i]),id=str(Datarray2[i]),on_press=self.Pressbtn ))
self.ids.SearchResult.add_widget(SearchResultButton)
从那里它打开这个函数,它应该设置一个变量(在本例中为“UpdateTicketNum”),该变量将在另一个函数中用于在另一个屏幕中设置标签文本。
def Pressbtn(self, SearchResultButton):
global UpdateTicket
UpdateTicket = OPENTicket
woo = SearchResultButton.text
print(SearchResultButton.text)
wow = [blank.strip() for blank in woo.split(',')]
print("\n\n\n\n")
global UpdateTicketNum
UpdateTicketNum = (wow[0])
self.manager.get_screen('UpdateTicket').UpdateOpen()
此时它会打开 sqlite DB 并仔细检查 TicketNumber 是否有效。尝试访问 kv 构建中的标签时出现问题
def UpdateOpen(self):
print("TESTSETST")
conn = sqlite3.connect('TicketData.db', timeout=10)
UD = conn.cursor()
UD.execute('SELECT TicketNumber FROM TicketData WHERE TicketNumber = ?',(UpdateTicketNum,))
tips = UD.fetchone()
print(tips[0])
tipsy = tips[0]
UpdatedLabelTexT = tipsy
sm.current=('UpdateTicket')
UpdateTicket.ids.UpdateLabels['text']=(UpdatedLabelTexT)
UpdateTicket.ids.UpdateLabels['text']=UpdatedLabelText] 字段始终声称是滚动视图按钮的属性,即使我在另一个类中使用不同的参数对其进行初始化。如果这个问题格式不正确,我们深表歉意。但是 3 天的垂死试图弄清楚这一点,我突然崩溃了。
这是KV中的位
<UpdateTicket>
name: 'UpdateTicket'
on_enter:
root.UpdateOpen()
orientation: "vertical"
FloatLayout:
canvas.before:
Color:
rgba: .0, .6, 1, 1
Rectangle:
pos: self.pos
size: self.size
source: "lights.jpg"
Label:
id: UpdateLabels
text: "filler"
multiline: False
size_hint: (None, None)
size: (root.width/5,root.height/20)
pos_hint:{'center_x': .5,'center_y': .5 }
以及我如何初始化屏幕
sm.add_widget(UpdateTicket(name='UpdateTicket'))
解决方案
我找到了适合我的解决方案。首次初始化应用程序类 SampleApp(App) 时返回 sm(构建应用程序)
我需要用
global root
return sm
root = ScreenManager()
return root
这似乎解决了我的问题。谢谢阅读
推荐阅读
- jms - 如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列
- ansible - Ansible lineinfile - 追加到行尾而不覆盖
- python - spotipy 的 current_user_top_artists 仅适用于高级用户吗?
- python - 如何抓取网站 Python 中的所有页面
- android - 如何在我的视图模型中重试请求
- r - 跨多个列的迭代 if_else 语句?
- airflow - 避免气流中的过期日期
- android - Firebase 数据库搜索未返回任何结果
- php - 在 PHP 中使用类变量名查找字符串格式化
- riscv - 我不确定遵循 RISC-V 代码是否有正确的结果