如何解决如何在Kivy中获取尺寸提示以应用于布局元素而不是窗口
我有以下示例窗口大小的代码。我希望将所有小部件都放到名为import requests
from bs4 import BeautifulSoup
to_search = 'laptops'
url = 'https://www.flipkart.com/search?q=
{}&otracker=search&otracker1=search&marketplace=FLIPKART&as-
show=on&as=off'.format(to_search)
html_code = requests.get(url).text
soup = BeautifulSoup(html_code,'lxml')
titles = soup.findAll('div',class_='_3wU53n')
for title in titles:
print(title,end='\n')
的{{1}}中,而不是划分窗口的百分比。但是,无论我将提示放在何处或如何附加小部件,这些提示仍会应用于整个窗口。
如代码所示,对于(500,600)窗口,嵌体的大小应仅为(480,600),最接近8 x 10的尺寸。但是,提示是针对(500,600)大小呈现的:
BoxLayout
如何使inlay
布局的大小提示评估为from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
Window.size = (500,600)
class SCApp(App):
def build(self):
# Define the (relative) 8 x 10 inlay for the board.
for n in range(8,Window.width,8):
if n * 1.25 <= Window.height:
inlay_dims = (n,int(n * 1.25))
print(inlay_dims)
else:
break
inlay = BoxLayout(orientation="vertical")
inlay.size = inlay_dims
top_portion = BoxLayout(orientation="horizontal")
inlay.add_widget(top_portion)
top_portion.size_hint = (1,0.1)
top_portion.add_widget(widget=Button())
mid_portion = BoxLayout(orientation="horizontal")
inlay.add_widget(mid_portion)
mid_portion.size_hint = (1,0.8)
btm_portion = BoxLayout(orientation="horizontal")
inlay.add_widget(btm_portion)
btm_portion.size_hint = (1,0.1)
top_portion.add_widget(widget=Button())
return inlay
SCApp().run()
给出的大小?
解决方法
使用size
时,通常还必须使用size_hint=(None,None)
,因为size_hint
将覆盖尺寸设置。因此,请尝试更换:
inlay = BoxLayout(orientation="vertical")
具有:
inlay = BoxLayout(orientation="vertical",size_hint=(None,None))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。