0
超級noob在這裏。我完成了我的第一個Python程序,它的工作原理與它的意圖完全一樣。它是一個小型數據庫的簡單搜索引擎。現在我試圖將它作爲一個Android應用程序與Kivy一起移植。我現在想做的只是從原始軟件中運行良好的函數中顯示我的整個sqlite數據庫(20行左右)的內容。用Kivy獲取SQLITE python
在Android應用程序中,函數list_table似乎工作,因爲它顯示「打印文本」,但不顯示數據庫本身的元素。基本上它只打印「MVA:」。我真的不知道爲什麼。我一直試圖找一個解決方案,但我堅持一段時間:/
感謝您的幫助鄉親。
#This is my main.py file
from kivy.app import App
import sqlite3 as lite
import sys
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.anchorlayout import AnchorLayout
from kivy.core.window import Window
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
import time
Window.clearcolor = (1, 1, 1, 1)
class SearchWidget(BoxLayout):
def list_table(self, *args):
try:
con = lite.connect('data.db')
con.text_factory = str
cur = con.cursor()
cur.execute("SELECT * FROM mva ORDER BY mva ASC")
con.commit()
ar = cur.fetchall()
for item in ar:
data = 'MVA ' + str(item[1]) + str(item[2]) + ': ' + str(item[0]) + ' ' + str(item[3])
return data
except lite.Error, e:
if con:
con.rollback()
print "Error %s:" % e.args[0]
sys.exit(1)
finally:
if con:
con.close()
class MyApp(App):
def build(self):
return SearchWidget()
if __name__ == '__main__':
MyApp().run()
這是我my.kv文件
<SearchWidget>:
orientation: 'vertical'
TextInput:
id: my_textinput
font_size: 25
size_hint_y: None
height: 100
text: 'MVA Search'
BoxLayout:
Label:
color: (0, 0, 0, 1)
size: self.texture_size
text: root.list_table()
font_size: 25
您的解決方案工作。感謝您的幫助。 – Atoms