【问题标题】:how can i change the text box position so it will be next to the button?(kivy)如何更改文本框的位置,使其位于按钮旁边?(kivy)
【发布时间】:2017-03-17 07:11:45
【问题描述】:

我有一个用于制作标签、按钮和文本框的 kivy 代码。我想把文本框放在按钮旁边而不是在它下面,我该怎么做?

import socket
import sys
import os
import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.image import Image
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.uix.popup import Popup
from kivy.uix.bubble import Bubble
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
class TextInputApp(App):
    def build(self):

        layout = BoxLayout(padding=10, orientation='vertical')
        btn1 = Button(text="OK", size_hint=(0.49, 0.1),pos_hint={'x': .51, 'center_y': .5})
        btn1.bind(on_press=self.buttonClicked)
        layout.add_widget(btn1)
        self.txt1 = TextInput(multiline=False, text='',
                                           size_hint=(0.5, 0.1))
        layout.add_widget(self.txt1)
        self.lbl1 = Label(text="Write your guess in the blank text box", size_hint=(1, None), height=30)
        layout.add_widget(self.lbl1)

        return layout

    def buttonClicked(self,btn):
        print "hi"

TextInputApp().run()

【问题讨论】:

    标签: python button text position kivy


    【解决方案1】:

    您可以创建另一个水平方向的 BoxLayout 来容纳 Button 和 TextInput。

    class TextInputApp(App):
        def build(self):
    
            layout = BoxLayout(padding=10, orientation='vertical')
            # Second boxlayout
            layout2 = BoxLayout()
            # Add BoxLayout do main layout
            layout.add_widget(layout2)
    
            # Drop old size and pos_hints
            btn1 = Button(text="OK")
            btn1.bind(on_press=self.buttonClicked)
            # Add Button to secondary boxlayout
            layout2.add_widget(btn1)
            self.txt1 = TextInput(multiline=False, text='',
                                               size_hint=(0.5, 0.1))
            layout.add_widget(self.txt1)
            # Drop size_hint
            self.lbl1 = Label(text="Write your guess in the blank text box")
            layout2.add_widget(self.lbl1)
    
            return layout
    

    如果你想改变 Button 和 TextInput 的大小,你可以在二级 BoxLayout 中设置:

    layout2 = BoxLayout(size_hint_y=None, height=30)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多