Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
Demiana
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 22
1

При создании иконки выдаёт в консоль "QPixmap: It is not safe to use pixmaps"

22.04.2013, 23:56. Просмотров 943. Ответов 0
Метки нет (Все метки)

Есть класс
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
class MainForm(QtGui.QMainWindow):
    def __init__(self, api, parent):
        super(MainForm, self).__init__()
        threding.Thread(target=self.setList1).start()
        threding.Thread(target=self.setList2).start()
        threding.Thread(target=self.setList3).start()
 
    def setList1(self):
        files = ['ba.jpg', 'ab.jpg', ....]
        for file in files:
            icon = QIcon(file)
            item = QListWidgetItem(icon, 'картинка')
            self.list2.addItem(item)
 
    def setList2(self):
        files = ['bab.jpg', 'abb.jpg', ....]
        for file in files:
            icon = QIcon(file)
            item = QListWidgetItem(icon, 'картинка')
            self.list3.addItem(item)
 
    def setList3(self):
        files = ['baz.jpg', 'abz.jpg', ....]
        for file in files:
            icon = QIcon(file)
            item = QListWidgetItem(icon, 'картинка')
            self.list1.addItem(item)
Суть такая: на форме несколько QListWidget, в которые я добавляю элементы. Разделил на несколько потоков т.к. картинки в files грузятся с интернета. Код работает. Но не суть. Проблема в
Код
QPixmap: It is not safe to use pixmaps outside the GUI thread
которое спамится в окно консоли каждый раз когда я создаю иконку QIcon(...) в методах этого класса, которые запустил в отдельных потоках.
Почемуто
Python
1
sys.stdout = open('log', 'w')
и
Python
1
sys.stderr = open('log', 'w')
не решают проблему.
Я понимаю что это выводится изза того что я методы запускаю в потоке через threading, и без этого никак.
Хотелось бы узнать как обойти эту проблему

Добавлено через 7 часов 14 минут
Разобрался. Нужно с помощью сигналов установить иконку у item вне потока.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2013, 23:56
Ответы с готовыми решениями:

При создании нового файла "*.mdb" возникает "ошибка связи с сервером OLE"
При создании нового файла "*.mdb" "ошибка связи с сервером OLE". Выскакивают окна Окно 1...

При создании блокнота не работает кнопка "Копировать" или "Вставить"
Вот такой код, но наиболее интересны строки 74-84 т.к. они описывают кнопку копировать и кнопку...

Консоль: Оператор "==" не может применяться к операндам типа "bool" и "int"
Ошибкa: Оператор "==" не может применяться к операндам типа "bool" и "int" Здесь: public void...

Ошибка "could not access file "$libdir/fasttrun" при создании БД
Добрый день! Простите, возможно обращаюсь не в тот раздел, но у меня появилась следующая проблема:...

ESET NOD 32 Smart Security 7 при запуске выдаёт "Ошибка при обмене данных с ядром"
Здавствуйте. Примерно 2-3 дня назад мой антивирус стал выдавать ошибку "Ошибка при обмене данных с...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2013, 23:56

в меню установок-"MB Intelligent Tweaker (M.I.T.)" во всех подпунктах выдаёт красной надписью-"WARNING"
в меню установок-"MB Intelligent Tweaker (M.I.T.)" во всех подпунктах выдаёт красной...

VS2013 выдаёт ошибку Ошибка 1 error C2079: "d" использует неопределенный struct "DATE"
Привет всем. Подскажите пожалуйста, почему VS2013 выдаёт ошибку Ошибка 1 error C2079: "d"...

выдаёт ошибку: Error: Incompatible type for arg no. 3: Got "Extended", expected "AnsiString"
a:=a/i; не получается переделать под делфи. нужно,чтобы изменённый массив вывел в stringgrid2. ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.