我有这个代码,可以用路径上的图像填充我的轮播。
Python代码段...
class EzLaunchScreen(Screen):
def __init__(self, **kwargs):
super().__init__(**kwargs)
img_path = ('D:\\Steven\Desktop\\Python App\\Images\\Carousel\\')
# Funtion get images int carousel...
layout = FloatLayout()
self.background_image = Image(source='Images\launchScreen.png')
carousel_widget = Carousel(direction ='right')
for img_file in os.listdir(img_path):
if img_file.endswith(('.png', '.jpg', '.jpeg')):
img = Image(source=os.path.join(img_path, img_file))
print(f"Adding image: {img_file}")
carousel_widget.add_widget(img)
layout.add_widget(self.background_image)
layout.add_widget(carousel_widget)
self.add_widget(layout)
在字符串片段中我有以下...
Code = '''
<EzLaunchScreen>:
brand_text: Brand_label
val_text: ToT_label
slide_text: slider_label
name: 'EzLaunch'
BoxLayout:
Button:
background_color: 0, 0, 0, 0
size_hint: .25, .070
on_press: app.swipe_me()
pos_hint: {'center_x': 0.10, 'center_y': .975}
# This is the carousel library of brands...
Carousel:
id: carousel_widget
direction: 'right'
on_slide: root.swipe_me()
'''
我想要一个函数,当我刷新轮播时给我带来图像名称...
这是我尝试过但行不通的方法...
def swipe_me(self, carousel_widget_instance, value):
current_image = carousel_widget_instance.slides[carousel_widget_instance.index]
image_name = current_image.image_name # Access the stored name
print(f"Current image name: {image_name}")
这是我过去一周在这个论坛上的第四篇文章,因此对任何人都没有回应。
我希望能得到一些方向...
与我的Excel帮助论坛不同,互联网没有任何真实的论坛为此...提前感谢您...
cross张贴了
Hereycarousel_widget.bind(_index=self.swipe_me)
def swipe_me(self, instance, value):
current_image = instance.slides[int(value)]
image_name = current_image.source.split('\\')[-1]
image_name = image_name.split('.')[0]
self.brand_text.text = image_name.upper()
print(f"Image Name: {image_name.upper()}")
根据OP来解决问题,这解决了问题:
carousel_widget.bind(_index=self.swipe_me)
def swipe_me(self, instance, value):
current_image = instance.slides[int(value)]
image_name = current_image.source.split('\\')[-1]
image_name = image_name.split('.')[0]
self.brand_text.text = image_name.upper()
print(f"Image Name: {image_name.upper()}")