Как правильно использовать метод bits(), Python |
Здравствуйте, гость ( Вход | Регистрация )
Как правильно использовать метод bits(), Python |
zuze |
10.6.2013, 14:33
Сообщение
#1
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я бы хотел узнать, как нужно присваивать значения методу QtGui.QImage.bits(), так как увы в интернете, чего-то не нашёл.
Объявляю я так:
А как теперь ptr значения присваивать не понимаю. Если значения которые надо добавить лежат в кортеже. Помогите пожалуйста, разобраться? Если бы это было в Qt я бы сделал так:
А вот как в Python-е сделать, что-то не понимаю. Сообщение отредактировал zuze - 10.6.2013, 14:33 |
|
|
Litkevich Yuriy |
10.6.2013, 14:45
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
а я и второй пример не понял (к стати, в обоих случаях ты используешь Qt)
во втором примере, где объявление ptr? |
|
|
zuze |
10.6.2013, 14:49
Сообщение
#3
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Litkevich Yuriy |
10.6.2013, 15:00
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
я вижу присваивание,а не объявление.
Какого типа переменная ptr? |
|
|
zuze |
10.6.2013, 15:04
Сообщение
#5
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Litkevich Yuriy |
10.6.2013, 15:40
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
всё равно нету в Python-е типов есть!просто тип определяется "на лету", но типы есть. но зачем это знать чтобы понять твой пример написанный на Си++Если считать, что ptr объявлен так: uchar *ptr; то как понимать запись: ptr[j][i] = ... ведь объявлен не массив, ты где-то создаёшь динамический массив? |
|
|
zuze |
10.6.2013, 15:41
Сообщение
#7
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я думал надо сделать так:
А вывожу так на экран картинку:
В результате возникли ошибки: 1 ошибка: ptr1[j].append(struct.unpack("B", bf[j])) IndexError: sip.voidptr object has an unknown size 2 ошибка: Tochka.drawImage(0, 0, ptr1, 0, 0, int((2*self.MyRadianToGradus(phi))+0.5), 492) TypeError: arguments did not match any overloaded call: QPainter.drawImage(QRectF, QImage, QRectF, Qt.ImageConversionFlags flags=Qt.AutoColor): argument 1 has unexpected type 'int' QPainter.drawImage(QRect, QImage, QRect, Qt.ImageConversionFlags flags=Qt.AutoColor): argument 1 has unexpected type 'int' QPainter.drawImage(QPointF, QImage, QRectF, Qt.ImageConversionFlags flags=Qt.AutoColor): argument 1 has unexpected type 'int' QPainter.drawImage(QPoint, QImage, QRect, Qt.ImageConversionFlags flags=Qt.AutoColor): argument 1 has unexpected type 'int' QPainter.drawImage(QRectF, QImage): argument 1 has unexpected type 'int' QPainter.drawImage(QRect, QImage): argument 1 has unexpected type 'int' QPainter.drawImage(QPointF, QImage): argument 1 has unexpected type 'int' QPainter.drawImage(QPoint, QImage): argument 1 has unexpected type 'int' QPainter.drawImage(int, int, QImage, int sx=0, int sy=0, int sw=-1, int sh=-1, Qt.ImageConversionFlags flags=Qt.AutoColor): argument 3 has unexpected type 'sip.voidptr' Сообщение отредактировал zuze - 10.6.2013, 15:41 |
|
|
zuze |
11.6.2013, 8:54
Сообщение
#8
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
От ошибок избавиться получилось, но к сожалению картинки не выдаются:
У меня такое подозрение, что я не правильно заполняю ptr. А именно ошибка в коде который выполняется в циклах:
Может, кто знает как правильно заполнять? Сообщение отредактировал zuze - 11.6.2013, 9:40 |
|
|
ViGOur |
18.6.2013, 9:46
Сообщение
#9
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
Текстовая версия | Сейчас: 28.11.2024, 17:35 |