Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2019, 13:39   #1
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Сообщений: 19
Вопрос Проблема с выводом в QListWidget/Trouble with output to QListWidget

Привет
Снова я с глупыми вопросами. Есть кусок кода, который при циклическом выполнении должен выводить результаты редактирования файла в виджет QListWidget. Этого он не делает, и я не могу понять почему. Можете объяснить, что я делаю не так?

Hi folks
It's me again having some dumb questions about PyQt5. Down there is a code sample which is designed to write to QListWidget if it runs in cycle. And yes, it does not work. Could anybody explain me what am I doing wrong?

Код:
    def file_redact (self):
        redact = self.line_edit_file_edit.text ()
        red_file = open (filename + '.txt', 'a+', encoding = 'utf8')
        red_file.write ('\n')
        red_file.write ('###ИСПРАВЛЕНИЕ###' + '\n')
        red_file.write (redact + '\n')
        red_file.write ('###КОНЕЦ_ИСПРАВЛЕНИЯ###' + '\n')
        red_file.close ()

    def button_redact_confirm_2_clicked (self):
        self.out_list.clear ()
        red_file = open (filename + '.txt', 'a+', encoding = 'utf8')
        for line in red_file:
            self.out_list.addItem (line)
        red_file.close ()
        self.file_redact ()
        self.line_edit_file_edit.setText ('')
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума Ответить с цитированием
Старый 31.01.2019, 14:24   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Зачем вы вместо открытия файла для чтения, открываете его для добавления в конец и чтения?
p51x на форуме Ответить с цитированием
Старый 31.01.2019, 14:40   #3
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Сообщений: 19
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
для добавления в конец и чтения?
Это тупо скопированный из другой части программы кусок кода, но да, вы правы, так открывать -- лишнее. Тем не менее, это не решит проблемы с программой.
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума Ответить с цитированием
Старый 31.01.2019, 14:43   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы пока не назвали проблемы этого кода. А так похоже, что "курсор" в файле вы сместили в конец и читаете только "конец файла".

Последний раз редактировалось p51x; 31.01.2019 в 15:05.
p51x на форуме Ответить с цитированием
Старый 31.01.2019, 14:58   #5
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Сообщений: 19
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
"курсор" в файле вы сместили в конец и читаете только "конец файла".
Проблема в том что в лист при второй итерации выводится пустота. Проблема в курсоре? Правильно понял, что
Код:
for line in red_file:
    self.out_list.addItem (line)
начинает выводить линии с позиции курсора?
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума Ответить с цитированием
Старый 31.01.2019, 15:04   #6
pigeon890
Пользователь
 
Регистрация: 24.01.2019
Сообщений: 19
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы пока не назвали проблемы этого кода. А так gj[j;t, что "курсор" в файле вы сместили в конец и читаете только "конец файла".
Поправил на r, все заработало, спасибо большое за поправку, впредь буду внимательнее
Вялые питоны: лень, смекалка, пофигизм!
pigeon890 вне форума Ответить с цитированием
Старый 31.01.2019, 15:06   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от pigeon890 Посмотреть сообщение
начинает выводить линии с позиции курсора?
Ну вы же итерируетесь по файловому объекту. Естественно, он сам в произвольный момент сбрасывать курсор не будет.
p51x на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PyQt4 работа с QListWidget() OzMod Python 4 22.10.2016 19:33
Qt кодировка в QListWidget troyan90 Qt и кроссплатформенное программирование С/С++ 2 13.05.2015 00:03
QListWidget расположение записей Farrel Qt и кроссплатформенное программирование С/С++ 5 09.06.2011 16:13
QListWidget и QDir для начинающих Farrel Qt и кроссплатформенное программирование С/С++ 1 28.04.2011 04:09
QListWidget как реагировать на добавление элемента Farrel Qt и кроссплатформенное программирование С/С++ 3 20.04.2011 23:33