我有一个非常简单的应用程序,我一直致力于使用Tkinter在GUI中使用python编写的工作。我已经开始为Kivy重写它,以便更容易编译不同的平台。下面的代码是我到目前为止的代码。它是一个简单的文本输入和搜索按钮。但我正在我的基类中构建它。我想在另一个类中构建这些查询控件,然后通过基类返回它们,这样我就可以从一开始就在正确的路径上开始。
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout
class MyApp(App):
def build(self):
controls = AnchorLayout(anchor_x='left', anchor_y='top')
box = BoxLayout()
upc_l = Label(text='UPC:', font_size=40, size_hint_y=None,
size_hint_x=None, height=50, width=100,)
entry = TextInput(font_size=40, size_hint_y=None, size_hint_x=None,
height=50, width=350)
search_b = Button(text='Search', font_size=40, size_hint_y=None,
size_hint_x=None, height=50, width=200)
controls.add_widget(box)
box.add_widget(upc_l)
box.add_widget(entry)
box.add_widget(search_b)
return controls
if __name__ == '__main__':
MyApp().run()
我想像这样折射它:
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout
class Query():
<whatever needs to go here...>
class MyApp(App):
def build(self):
return Query()
if __name__ == '__main__':
MyApp().run()
答案 0 :(得分:2)
这不是问题。
即使您需要某些方面的帮助,也应该解释您的问题是什么,您尝试了什么以及出了什么问题。
对于一些一般性的建议,你应该使用kv语言来定义你的小部件树,它会使事情变得更简单和容易。
答案 1 :(得分:1)
我强烈建议您观看“速成课程”视频系列。它非常有用,可以帮助您快速使用kv语言和python以及两者之间的交互。检查出here。
答案 2 :(得分:1)
在Python中:
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout
class Query(AnchorLayout):
def __init__(self, **kwargs):
super(Query, self).__init__(**kwargs)
self.anchor_x = 'left'
self.anchor_y='top'
box = BoxLayout()
upc_l = Label(text='UPC:', font_size=40, size_hint_y=None,
size_hint_x=None, height=50, width=100,)
entry = TextInput(font_size=40, size_hint_y=None, size_hint_x=None,
height=50, width=350)
search_b = Button(text='Search', font_size=40, size_hint_y=None,
size_hint_x=None, height=50, width=200)
box.add_widget(upc_l)
box.add_widget(entry)
box.add_widget(search_b)
self.add_widget(box)
class MyApp(App):
def build(self):
return Query()
if __name__ == '__main__':
MyApp().run()