为什么我使用了不显示的scrollview方法后还是看不到我的kivy应用程序中的所有文本?

问题描述 投票:0回答:1

我正在尝试制作一个带有字典的应用程序,而不使用 .kv 文件。单词列表太长,我无法查看所有单词。因此,我尝试使用滚动视图来修复它,但它不起作用。它还应该包含更多标签。

我尝试使用滚动视图并更改文本大小,但两者都不起作用。我也看不到滚动菜单。

我的代码:

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.scrollview import ScrollView

class MyApp(App):
    def build(self):
        scroll_view_E = ScrollView(size_hint=(1, None), size=(400, 400))
        label_English = Label(text="Food:\nFood - Comida\nBread - Pan\nTea - Té\nCoffee - Café\nIce coffee - Café con hielo\nWater - Agua\nSparkling water - Agua mineral con gas\nSugar - Azúcar\nSalt - Sal\nOlive oil - Aceite de oliva\nPepper - Pimienta\nWine - Vino\nMilk - Leche\nCheese - Queso\nFish - Pescado\nMeat - Carne\nSpicy - Picante\nChicken - Pollo\nSeafood - Mariscos\nSandwich - Sandwich\nGluten - Gluten\n\nColours:\nGreen - Verde\nYellow - Amarillo\nRed - Rojo\nOrange - Naranja\nBlack - Negro\nWhite - Blanco\nPurple - Morado\nBlue - Azul\nPink - Rosado\n\nPhrases:\nExcuse me - Disculpe/Perdón\nThank you - Gracias\nGood - Bien\nBad - Mal\nNice to meet you - Encantado/a de conocerte\nWhat time is it? - ¿Qué hora es?\nWhere is the bathroom? - ¿Dónde está el baño?\nYou are welcome - De nada\nGood morning - Buenos días\nGood afternoon - Buenas tardes\nGood evening - Buenas noches\nHow are you? - ¿Cómo estás?\nNice to meet you - Encantado/a de conocerte\nMy name is - Mi nombre es\nWhat is your name? - ¿Cuál es tu nombre?\nMy phone number is - Mi número de teléfono es\nWhat is your phone number? - ¿Cuál es tu número de teléfono?\nI need help - Necesito ayuda\nDo you need help? - ¿Necesitas ayuda?\nCan you help me please? - ¿Podrías ayudarme por favor?\nHow do I get to it? - ¿Cómo llegó hasta allí?\nWhere is it? - ¿Dónde está?\nHow do you spell your name? - ¿Cómo se escribe tu nombre?\nI want to drink - Quiero beber\nI want to - Quiero\nI want to eat - Quiero comer\nI am here for - Estoy aquí para\nMore - Más\nLess - Menos\nEnter - Entrar\nExit - Salir\nEntrance - Entrada\nUp - Arriba\nDown - Abajo\nRight - Derecha\nLeft - Izquierda\nBehind - Detrás\nHelp - Ayuda\nI need help - Necesito ayuda\nOr - O\nOther - Otro\nMissing - Faltante\nWith - Con\nWithout - Sin\nI am lost - Estoy perdido\nGive me the bill please - Por favor, déme la cuenta\nGood bye - Adiós\n\nDays:\nMonday - Lunes\nTuesday - Martes\nWednesday - Miércoles\nThursday - Jueves\nFriday - Viernes\nSaturday - Sábado\nSunday - Domingo\n\nTimes:\nWeek - Semana\nMonth - Mes\nYear - Año\nTomorrow - Mañana\nToday - Hoy\nYesterday - Ayer\nMorning - Mañana\nEvening - Noche\nNoon - Mediodía\nAfter noon - Tarde\n\nLanguages:\nEnglish - Inglés\nFrench - Francés\nHebrew - hebreo\nDutch - holandés\nGerman - alemán\nItalian - italiano\nRussian - Ruso\nJapanese - japonés\nMandarin Chinese - mandarín chino\nPortuguese - portugués\nDo you speak___? - Hablas___?\n\nMonths:\nJanuary - enero\nFebruary - febrero\nMarch - marzo\nApril - abril\nMay - mayo\nJune - junio\nJuly - julio\nAugust - agosto\nSeptember - septiembre\nOctober - octubre\nNovember - noviembre\nDecember - Diciembre\n\nDirections:\nNorth - norte\nSouth - sur\nEast - este\nWest - oeste\n")
        scroll_view_P = ScrollView(size_hint=(1, None), size=(400, 400))
        label_Portuguese = Label(text="Comida:\nComida - Comida\nPão - Pan\nChá - Té\nCafé - Café\nCafé gelado - Café con hielo\nÁgua - agua\nÁgua com gás - agua mineral con gas\nAçúcar - azúcar\nSal - Sal\nAzeite - Aceite de oliva\nPimenta - Pimenta\nVinho - Vino\nLeite - Leche\nQueijo - Queso\nPeixe - Pescado\nCarne - Carne\nPicante - Picante\nFrango - Pollo\nFrutos do Mar - Mariscos\nSanduíche - Sandwich\nGlúten - Gluten\n\nCores:\nVerde - Verde\nAmarelo - Amarillo\nVermelho - Rojo\nLaranja - Naranja\nPreto - Negro\nBranco - Blanco\nRoxo - Morado\nAzul - Azul\nRosa - Rosa\n\nFrases:\nCom licença - Disculpe/Perdón\nObrigado - gracias\nBom - bien\nRuim - mal\nPrazer em conhecê-lo - Encantado/a de conocerte\n¿Qué horas são? - ¿Qué hora es?\nOnde fica o banheiro? - ¿Dónde está el baño?\nDe nada - De nada\nBom dia - Buenos dias\nBoa tarde - Buenas tardes\nBoa noite - Buenas noches\nComo você está? - Cómo estás?\nPrazer em conhecê-lo - Encantado/a de conocerte\nMeu nome é - Mi nombre es\nQual o seu nome? - Cuál es tu nombre?\nMeu número de telefone é - Mi número de teléfono es\nQual É o Seu Número De Telefone? - ¿Cuál es tu número de teléfono?\nPreciso de ajuda - Necesito ayuda\nVocê precisa de ajuda? - ¿Necesitas ayuda?\nVocê pode me ajudar por favor? - ¿Podrías ayudarme por favor?\nComo faço para chegar a ele? - ¿Cómo llegó hasta allí?\nCadê? - ¿Dónde está?\nComo soletrar o teu nome? - ¿Cómo se escribe tu nombre?\nEu quero beber - Quiero beber\nEu quero - Quiero\nEu quero comer - Quiero comer\nEstou aqui para - Estoy aquí para\nMais - Más\nMenos - menos\nEntrar - Entrar\nSaída - Salir\nEntrada - Entrada\nCima - Arriba\nDown - Abajo\nDireita - Derecha\nEsquerda - Izquierda\nAtrás - Detrás\nAjuda - Ajuda\najuda - ayuda\nOu - O\nOutro - Otro\nFaltando - Faltante\nCom - Con\nSem - sin\nEstou perdido - Estoy perdido\nDê-me a conta, por favor - Por favor, déme la cuenta\nAdeus - Adiós")
        scroll_view_E.add_widget(label_English)
        scroll_view_P.add_widget(label_Portuguese)
        return scroll_view_E
        return scroll_view_P

if __name__ == "__main__":
    MyApp().run()
python kivy kivy-language kivymd
1个回答
0
投票

ScrollView 只接受一个小部件。这意味着你的小部件(在你的 ScrollView 内)如果是一个标签或类似的东西,它可以被裁剪。您必须提供布局小部件之一。 (BoxLayout、FloatLayout、GridLayout 等)。之后,您必须在这些布局之一中添加您的小部件(在您的情况下是标签小部件)。我稍微改变了你的代码以使其可视化:

def build(self):
    layout = GridLayout(cols=1, spacing=50, size_hint_y=None)
    layout.bind(minimum_height=layout.setter('height'))
    scroll_view_english = ScrollView(size_hint=(1, None), size=(400, 400))
    english_text = "Food:\nFood - Comida\nBread - Pan\nTea - Té\nCoffee - Café\nIce coffee - Café con hielo\nWater - Agua\nSparkling water - Agua mineral con gas\nSugar - Azúcar\nSalt - Sal\nOlive oil - Aceite de oliva\nPepper - Pimienta\nWine - Vino\nMilk - Leche\nCheese - Queso\nFish - Pescado\nMeat - Carne\nSpicy - Picante\nChicken - Pollo\nSeafood - Mariscos\nSandwich - Sandwich\nGluten - Gluten\n\nColours:\nGreen - Verde\nYellow - Amarillo\nRed - Rojo\nOrange - Naranja\nBlack - Negro\nWhite - Blanco\nPurple - Morado\nBlue - Azul\nPink - Rosado\n\nPhrases:\nExcuse me - Disculpe/Perdón\nThank you - Gracias\nGood - Bien\nBad - Mal\nNice to meet you - Encantado/a de conocerte\nWhat time is it? - ¿Qué hora es?\nWhere is the bathroom? - ¿Dónde está el baño?\nYou are welcome - De nada\nGood morning - Buenos días\nGood afternoon - Buenas tardes\nGood evening - Buenas noches\nHow are you? - ¿Cómo estás?\nNice to meet you - Encantado/a de conocerte\nMy name is - Mi nombre es\nWhat is your name? - ¿Cuál es tu nombre?\nMy phone number is - Mi número de teléfono es\nWhat is your phone number? - ¿Cuál es tu número de teléfono?\nI need help - Necesito ayuda\nDo you need help? - ¿Necesitas ayuda?\nCan you help me please? - ¿Podrías ayudarme por favor?\nHow do I get to it? - ¿Cómo llegó hasta allí?\nWhere is it? - ¿Dónde está?\nHow do you spell your name? - ¿Cómo se escribe tu nombre?\nI want to drink - Quiero beber\nI want to - Quiero\nI want to eat - Quiero comer\nI am here for - Estoy aquí para\nMore - Más\nLess - Menos\nEnter - Entrar\nExit - Salir\nEntrance - Entrada\nUp - Arriba\nDown - Abajo\nRight - Derecha\nLeft - Izquierda\nBehind - Detrás\nHelp - Ayuda\nI need help - Necesito ayuda\nOr - O\nOther - Otro\nMissing - Faltante\nWith - Con\nWithout - Sin\nI am lost - Estoy perdido\nGive me the bill please - Por favor, déme la cuenta\nGood bye - Adiós\n\nDays:\nMonday - Lunes\nTuesday - Martes\nWednesday - Miércoles\nThursday - Jueves\nFriday - Viernes\nSaturday - Sábado\nSunday - Domingo\n\nTimes:\nWeek - Semana\nMonth - Mes\nYear - Año\nTomorrow - Mañana\nToday - Hoy\nYesterday - Ayer\nMorning - Mañana\nEvening - Noche\nNoon - Mediodía\nAfter noon - Tarde\n\nLanguages:\nEnglish - Inglés\nFrench - Francés\nHebrew - hebreo\nDutch - holandés\nGerman - alemán\nItalian - italiano\nRussian - Ruso\nJapanese - japonés\nMandarin Chinese - mandarín chino\nPortuguese - portugués\nDo you speak___? - Hablas___?\n\nMonths:\nJanuary - enero\nFebruary - febrero\nMarch - marzo\nApril - abril\nMay - mayo\nJune - junio\nJuly - julio\nAugust - agosto\nSeptember - septiembre\nOctober - octubre\nNovember - noviembre\nDecember - Diciembre\n\nDirections:\nNorth - norte\nSouth - sur\nEast - este\nWest - oeste\n"
    english_text_lines = english_text.split("\n")
    for line in english_text_lines:
        layout.add_widget(Label(text=line, font_size="20sp"))
    scroll_view_english.add_widget(layout)
    return scroll_view_english
© www.soinside.com 2019 - 2024. All rights reserved.