Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
11 / 3 / 2
Регистрация: 01.08.2023
Сообщений: 19
Kivy

Выходит ошибка при нажатии кнопки KivyMD

19.11.2023, 09:41. Показов 795. Ответов 0

Студворк — интернет-сервис помощи студентам
Пишу впервые на kivymd. Вышла ошибка при нажатии на кнопку и ошибка показывает на строку spell = Spelling(). Ошибка такая TypeError: 'NoneType' object is not callable. На Windows тот же код работает при нажатии но при запуске того же кода на Ubuntu 22.04 выдаёт ошибку. Я хочу взять текст из MDTextField ссылаясь на его id word = self.ids.word_input.text но выходит ошибка. Вот мой код:

main.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import kivy 
from kivy.app import App
from kivymd.app import MDApp
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.core.spelling import Spelling
from kivy.core.text import LabelBase
 
from kivymd.theming import ThemeManager
 
Builder.load_file('main.kv')
 
class MyLayout(Widget):
 
    def press(self):
 
        spell = Spelling()
        spell.select_language('en_US')
 
        word = self.ids.word_input.text
 
        options = spell.suggest(word)
        x = ''
        for item in options:
            x = f'{x} {item}'
 
        self.ids.word_label.text = f'{x}'
 
class MyApp(MDApp):
    theme_cls = ThemeManager()
    title = 'Speller'
    
    def build(self):
        LabelBase.register('MyFont', fn_regular='UbuntuMono-Regular.ttf')
 
        self.theme_cls.theme_style = 'Light'
 
        Window.clearcolor = (1,1,1,1)
        return MyLayout()
 
if __name__ == '__main__':
    MyApp().run()
main.kv

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<MyLayout>
    id: my_widget
 
    BoxLayout:
        orientation: 'vertical'
        size: root.width, root.height
 
        padding: 50
        spacing: 30
 
        MDLabel:
            id: word_label
            text_size: self.size
            halign: 'center'
            valign: 'middle'
            text: 'Enter a word'
            font_size: 32
            font_name: 'MyFont'
            color: ('#3D405B')
 
        MDTextField:
            id: word_input
            multiline: False
            size_hint_x: 1
            font_size: 32
            font_name: 'MyFont'
            hint_text: 'Spell'
 
        MDRaisedButton:
            size_hint: (1, 0.5)
            font_size: 32.5
            text: 'Submit'
            font_name: 'MyFont'
            on_press: root.press()
Объясните пожалуйста в чём проблема или может есть другое решение этой задачи. Может я не правильно ссылаюсь на Id

Добавлено через 35 минут
Понял почему не работал на Ubuntu. Я устанавливал пакет python-enchant на Windows но не установил Ubuntu и вот отсюда и не работал код. После установки пакета python-enchant всё заработало.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2023, 09:41
Ответы с готовыми решениями:

LENOVO Z 565 - при нажатии кнопки ON ноутбук включается, и выходит чёрный экран
Помогите пожалуйста, при включении ноутбука он яко бы включается но выходит чёрный экран в большинстве случаев. Пере устанавливал винду 7...

При нажатии правой кнопки мыши записать символ красного цвета на экран, при нажатии левой кнопки - заменить на зелёный
При нажатии правой кнопки обеспечить вывод на экран по координатам х и у курсора определенного символа (любого) красного цвета, а при...

В созданном браузере при нажатии кнопки "Назад" выходит из приложения
Всем привет! Недавно начал изучать как разрабатывать приложения под Android. Хочу написать браузер для Android специально для одного...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2023, 09:41
Помогаю со студенческими работами здесь

При нажатии правой кнопки мыши записать символ на экран, при нажатии левой кнопки - стереть
При нажатии правой кнопки обеспечить вывод на экран по координатам х и у курсора определенного символа (любого), а при нажатии левой кнопки...

Вирус bymer cs1.6 при нажатии на кнопки клавиатуры выходит из игры и включает программы программы сами закрываются
устрановил bymer c.s. 1.6 после чего комп началь глючить при нажатии на кнопки клавиатуры выходит из игры и включает программы...

Организовать ,что при нажатии Enter входит в меню , а при нажатии Esc выходит с программы
Вот кусочек курсовой , помогите организовать такую вещь как при нажатии Enter входит в меню , а при нажатии Esc выходит с программы.Если...

Ошибка VB при нажатии кнопки
Всех приветствую и кричу SOS. Работаю с базой, один человек помог написать в vba команду, которая воплотила идею в функционале базы. ...

Ошибка при нажатии кнопки
Вот часть кода: procedure TForm2.Button2Click(Sender: TObject); var i,j,n:integer; max,l:real; x,y:array of extended; s:string;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru