Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 14.03.2019, 12:25   #1
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Адрес: Москва
Сообщений: 19
Репутация: 10
Вопрос Need little help on PyQt5 Помогите с PqQt5

Hi folks. Project's growing, troubles're growing. I have this function.
Код:

    def change_of_subj (self):
        sender = self.sender ()
        subj_name = sender.text()
        for item in os.listdir(r'C:\Program Files (x86)\LibHelper\Books\Alphabet\Book_Names\\' + subj_name [0]):
            if subj_name in item == True and out_list.findItems(item, Qt.MatchExactly) == '':
                self.out_list.addItem (item)
            elif subj_name in item == False:
                self.out_list.addItem ('По вашему запросу учебников не найдено')
            else:
                self.out_list.addItem ('По вашему запросу учебников не найдено')

It supposed to be called by textEdited event.
Код:

self.line_edit_book_subj.textEdited.connect(self.change_of_subj)

As you see, I change test in line_edit_book_subj, and as it changes it iterates through C:\Program Files (x86)\LibHelper\Books\Alphabet\Book _Names\\' + subj_name [0] in search of match of piece of book name and book names in directory.
There is no book files there at the moment, so it should write on QListWidget 'По вашему запросу учебников не найдено', but it does not. What am I doing wrong?


Сяп, форум, есть одна функция
Код:

    def change_of_subj (self):
        sender = self.sender ()
        subj_name = sender.text()
        for item in os.listdir(r'C:\Program Files (x86)\LibHelper\Books\Alphabet\Book_Names\\' + subj_name [0]):
            if subj_name in item == True and out_list.findItems(item, Qt.MatchExactly) == '':
                self.out_list.addItem (item)
            elif subj_name in item == False:
                self.out_list.addItem ('По вашему запросу учебников не найдено')
            else:
                self.out_list.addItem ('По вашему запросу учебников не найдено')

Должна вызываться textEdited событием
Код:

self.line_edit_book_subj.textEdited.connect(self.change_of_subj)

Функция должна либо итерируясь по каталогу C:\Program Files (x86)\LibHelper\Books\Alphabet\Book _Names\\' + subj_name [0] найти совпадения куска имени в QLineEdit с именами файлов в директории, в противном случае вывести в QListWidget 'По вашему запросу учебников не найдено'.
В директории ФАЙЛОВ НЕТ, поэтому она должна все время должна это выводить, но не выводит. Что не так?
__________________
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума   Ответить с цитированием
Старый 14.03.2019, 12:34   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 17,919
Репутация: 3428

icq: 512-765
skype: alexp.frl
По умолчанию

Add more debug output http://blog.algoprog.ru/how-to-debug-small-programs/
Alex11223 вне форума   Ответить с цитированием
Старый 14.03.2019, 12:41   #3
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Адрес: Москва
Сообщений: 19
Репутация: 10
По умолчанию

It does not execute a thing after for
__________________
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума   Ответить с цитированием
Старый 14.03.2019, 13:06   #4
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Адрес: Москва
Сообщений: 19
Репутация: 10
По умолчанию

So, it acts kinda strange: it does not report any failures and exceptions, but as I start changing text in QLineEdit, it does only set text from it as subj_name and nothing else. I am really uncomprehending.
__________________
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума   Ответить с цитированием
Старый 14.03.2019, 15:34   #5
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Адрес: Москва
Сообщений: 19
Репутация: 10
По умолчанию

Come on, guys, debug gave me no idea. Something should be wrong, but it's not clear for me what exactly
__________________
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума   Ответить с цитированием
Старый 14.03.2019, 16:25   #6
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,211
Репутация: 868
По умолчанию

Цитата:
Сообщение от pigeon890 Посмотреть сообщение
поэтому она должна все время должна это выводить, но не выводит.
И какого рожна она должна что-то выводить?
Ни одного файла => ни одной итерации цикла.
Все сообщения только в цикле
Black Fregat вне форума   Ответить с цитированием
Старый 15.03.2019, 10:59   #7
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Адрес: Москва
Сообщений: 19
Репутация: 10
По умолчанию

Благодарю, вы открыли мне глаза.
__________________
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подпись LineEdit на Python PyQt5 pigeon890 Python 4 28.01.2019 17:27
Не ставится PyQt5 All_iN_1 Python 1 18.01.2018 11:53
PyQt5 Не могу обработать кнопки. Глеб Иванов Python 0 31.10.2017 20:17
Помогите с виджетом из PyQt5 для открытия и редактирования изображения kadyrkaragishiev Python 0 25.03.2017 10:15
Python 3 + PyQt5 + PyOpenGL = blackscreen Glaciuse Python 0 10.04.2014 13:06


11:20.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru