【发布时间】:2014-11-03 16:50:10
【问题描述】:
我是一个 kivy 新手,我正在尝试通过将一组小图片嵌入到 Scatter 小部件中来移动它们。图片实际尺寸为 160*200 像素。 图片在我使用的 FloatLayout 上正确显示(正确位置),但是当我尝试移动其中一个时,Scatter 的边界框比图像大很多倍,我无法通过单击每个相应的来选择它们中的每一个图片。 我使用的非常基本的 kv 代码如下:
<TTTGame>:
FloatLayout:
Scatter:
pos: 200, 800
size: 70,100
do_rotation: False
do_scale: False
do_translation: True
auto_bring_to_front: True
Image:
source: 'data/h2red.jpeg'
size_hint: 1, 1
allow_strech: True
keep_ratio: False
size: 70, 100
Scatter:
pos: 200+(300*1), 800
size: 70,100
do_rotation: False
do_scale: False
do_translation: True
auto_bring_to_front: True
Image:
source: 'data/h3red.jpeg'
size_hint: None,None
size: 70, 100
Scatter:
pos: 200+(300*2), 800
size: 70,100
do_rotation: False
do_scale: False
do_translation: True
auto_bring_to_front: True
Image:
source: 'data/h4red.jpeg'
size_hint: None,None
size: 70, 100
Scatter:
pos: 200, 400
size: 70,100
do_rotation: False
do_scale: False
do_translation: True
auto_bring_to_front: True
Image:
source: 'data/c2black.jpeg'
size_hint: None,None
size: 70, 100
Scatter:
pos: 200+(300*1), 400
size: 70,100
do_rotation: False
do_scale: False
do_translation: True
auto_bring_to_front: True
Image:
source: 'data/c3black.jpeg'
size_hint: None,None
size: 70, 100
Scatter:
pos: 200+(300*2), 400
size: 70,100
do_rotation: False
do_scale: False
do_translation: True
auto_bring_to_front: True
Image:
source: 'data/c4black.jpeg'
size_hint: None,None
size: 70, 100
Splitter:
sizable_from: 'left'
size_hint: 0.3, 1
BoxLayout:
orientation: 'vertical'
size_hint: 1, 1
spacing: 10
padding: 20
BoxLayout:
orientation: 'vertical'
size_hint: 0.7, 0.7
Label:
text: 'Game card'
size_hint: 1, 0.1
font_size: 20
Image:
source: 'data/h2red.jpeg'
size_hint: 0.9, 0.9
Button:
text: 'PASS'
size_hint: 1, .2
font_size: 18
on_press: root.pass_on_press_callback()
Button:
text: 'Help'
size_hint: 1, .2
font_size: 18
on_press: root.help_on_press_callback()
基本上,我想要一个和图片一样大的 Scatter。 请问有高手可以帮帮我吗?
【问题讨论】: