我试图用垂直框布局制作一个带有两个块的窗口,上面的小部件大于下面的小部件。不仅如此,这些小部件还堆叠在左下角的其他部件上,它们的大小相同。
这是我的代码
import kivy
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.codeinput import CodeInput
from kivy.core.window import Window
from kivy.uix.button import Button
Window.maximize()
class Editor(Widget):
def __init__(self, *arg, **kwarg):
super(Editor, self).__init__(*arg, **kwarg)
self.size_hint= (1, 0.8)
self.add_widget(Button(text= "1"))
class Output(Widget):
def __init__(self, *arg, **kwarg):
super(Output, self).__init__(*arg, **kwarg)
self.size_hint= (1, 0.2)
self.add_widget(Button(text= "2"))
class IDE(BoxLayout):
def __init__(self, *arg, **kwarg):
super(IDE, self).__init__(*arg, **kwarg)
self.orientation= "vertical"
box1= Editor()
self.add_widget(box1)
box2= Output()
self.add_widget(box2)
class MainApp(App):
def build(self):
return IDE()
if __name__=="__main__":
MainApp().run()
(Output和Editor类中的按钮仅用于检查它们在结果窗口中各自的父窗口小部件位置)
有人帮助我弄清楚我在做什么错。
答案 0 :(得分:0)
您的编辑器和输出的行为符合预期,但完全不可见。您将看到的是它们自己的子窗口小部件,两个按钮,每个按钮均未应用位置或大小,因此采用默认的pos(0,0)和size(100,100)。
使Editor和Output类具有某种布局,例如FloatLayout,或者直接删除它们并将Buttons直接添加到BoxLayout。