Отображать и редактировать текст и изображения в быстром приложении

Вы можете установить зрителя команд в Ubuntu тоже, у меня Ubuntu 14.04 и работает Teamviewer без вина ......

sudo dpkg --add-architecture i386
sudo apt-get update
wget http://www.teamviewer.com/download/teamviewer_linux.deb
sudo dpkg -i teamviewer_linux.deb
sudo apt-get install -f
1
задан 21 June 2012 в 20:57

6 ответов

Вы действительно можете сделать это с помощью виджета TextView. Сначала вы должны установить редактируемое значение true:

textview.set_editable(true)

Вам нужно будет получить свой textbuffer, который является текстовыми данными:

buffer = textview.get_buffer()

Затем, используя этот буфер, вы можете получить и установить данные в нем. чтобы получить текст, используемый в настоящее время в буфере:

buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), false)

Первый и второй аргументы - это диапазон для получения текста, в этом случае все его отключает. Последний аргумент указывает, хотите ли вы получить скрытые символы, в этом случае false. Чтобы вставить текст, вы можете использовать следующее:

buffer.insert(buffer.get_end_iter(), "Sample text")

Первый аргумент указывает, куда вставлять текст, в этом случае в конце. второй аргумент - текст для вставки. Чтобы заменить все данные в буфере, вы можете использовать:

buffer.set_text("Sample text")

Это заменит все в буфере «Пример текста». Чтобы вставить изображение, вам нужно создать pixbuf для этого, используйте следующее:

pixbuf = gtk.gdk.pixbuf_new_from_file(filename)

Чтобы изменить размер использования pixbuf:

pixbuf.scale_simple(dest_width, dest_height, gtk.gdk.INTERP_BILINEAR)

Первые два аргумента - это новый ширины и высоты, третий аргумент - это тип интерполяции, который управляет тем, как он масштабируется (существует четыре типа, которые можно найти здесь здесь ). Затем вы можете добавить этот pixbuf в буфер, используя:

buffer.insert_pixbuf(buffer.get_end_iter(), pixbuf)

Это добавит изображение в конец буфера.

Вы также можете делать такие вещи, как добавлять виджеты, устанавливать поля, копировать и вставлять из буфера обмена, вставлять курсор и т. д., но вы можете посмотреть ссылки ниже для этого.

Изменить: для форматированного сохранения / загрузки вы можете использовать метод сериализации textbuffers. Сначала вы должны использовать свой метод register_serialize_tagset ():

format = buffer.register_serialize_tagset()

Далее вы можете использовать свой метод serialize для получения сериализованных данных:

data buffer.serialize(buffer, format, buffer.get_start_iter(), buffer.get_end_iter())

Это вернет данные в textbuffer's который можно сохранить в файл. Чтобы загрузить эти данные, сначала вызовите метод register_deserialize_tagset () метода textbuffer:

format = emptyBuffer.register_deserialize_tagset()

Затем вы можете загрузить данные, используя его метод deserialize ():

emptyBuffer.deserialize(emptyBuffer, format, emptyBuffer.get_end_iter(), data)

Это приведет к загрузке данных в текстовом буфере.

Edit2: если вы хотите, чтобы пользователь мог перетаскивать, чтобы переместить и изменить размер, вам придется вместо этого загружать pixbuf в виджет изображения, виджет изображения в поле события, событие

Ресурсы:

1
ответ дан 25 July 2018 в 18:22

Вы действительно можете сделать это с помощью виджета TextView. Сначала вы должны установить редактируемое значение true:

textview.set_editable(true)

Вам нужно будет получить свой textbuffer, который является текстовыми данными:

buffer = textview.get_buffer()

Затем, используя этот буфер, вы можете получить и установить данные в нем. чтобы получить текст, используемый в настоящее время в буфере:

buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), false)

Первый и второй аргументы - это диапазон для получения текста, в этом случае все его отключает. Последний аргумент указывает, хотите ли вы получить скрытые символы, в этом случае false. Чтобы вставить текст, вы можете использовать следующее:

buffer.insert(buffer.get_end_iter(), "Sample text")

Первый аргумент указывает, куда вставлять текст, в этом случае в конце. второй аргумент - текст для вставки. Чтобы заменить все данные в буфере, вы можете использовать:

buffer.set_text("Sample text")

Это заменит все в буфере «Пример текста». Чтобы вставить изображение, вам нужно создать pixbuf для этого, используйте следующее:

pixbuf = gtk.gdk.pixbuf_new_from_file(filename)

Чтобы изменить размер использования pixbuf:

pixbuf.scale_simple(dest_width, dest_height, gtk.gdk.INTERP_BILINEAR)

Первые два аргумента - это новый ширины и высоты, третий аргумент - это тип интерполяции, который управляет тем, как он масштабируется (существует четыре типа, которые можно найти здесь здесь ). Затем вы можете добавить этот pixbuf в буфер, используя:

buffer.insert_pixbuf(buffer.get_end_iter(), pixbuf)

Это добавит изображение в конец буфера.

Вы также можете делать такие вещи, как добавлять виджеты, устанавливать поля, копировать и вставлять из буфера обмена, вставлять курсор и т. д., но вы можете посмотреть ссылки ниже для этого.

Изменить: для форматированного сохранения / загрузки вы можете использовать метод сериализации textbuffers. Сначала вы должны использовать свой метод register_serialize_tagset ():

format = buffer.register_serialize_tagset()

Далее вы можете использовать свой метод serialize для получения сериализованных данных:

data buffer.serialize(buffer, format, buffer.get_start_iter(), buffer.get_end_iter())

Это вернет данные в textbuffer's который можно сохранить в файл. Чтобы загрузить эти данные, сначала вызовите метод register_deserialize_tagset () метода textbuffer:

format = emptyBuffer.register_deserialize_tagset()

Затем вы можете загрузить данные, используя его метод deserialize ():

emptyBuffer.deserialize(emptyBuffer, format, emptyBuffer.get_end_iter(), data)

Это приведет к загрузке данных в текстовом буфере.

Edit2: если вы хотите, чтобы пользователь мог перетаскивать, чтобы переместить и изменить размер, вам придется вместо этого загружать pixbuf в виджет изображения, виджет изображения в поле события, событие

Ресурсы:

1
ответ дан 2 August 2018 в 00:34

Вы действительно можете сделать это с помощью виджета TextView. Сначала вы должны установить редактируемое значение true:

textview.set_editable(true)

Вам нужно будет получить свой textbuffer, который является текстовыми данными:

buffer = textview.get_buffer()

Затем, используя этот буфер, вы можете получить и установить данные в нем. чтобы получить текст, используемый в настоящее время в буфере:

buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), false)

Первый и второй аргументы - это диапазон для получения текста, в этом случае все его отключает. Последний аргумент указывает, хотите ли вы получить скрытые символы, в этом случае false. Чтобы вставить текст, вы можете использовать следующее:

buffer.insert(buffer.get_end_iter(), "Sample text")

Первый аргумент указывает, куда вставлять текст, в этом случае в конце. второй аргумент - текст для вставки. Чтобы заменить все данные в буфере, вы можете использовать:

buffer.set_text("Sample text")

Это заменит все в буфере «Пример текста». Чтобы вставить изображение, вам нужно создать pixbuf для этого, используйте следующее:

pixbuf = gtk.gdk.pixbuf_new_from_file(filename)

Чтобы изменить размер использования pixbuf:

pixbuf.scale_simple(dest_width, dest_height, gtk.gdk.INTERP_BILINEAR)

Первые два аргумента - это новый ширины и высоты, третий аргумент - это тип интерполяции, который управляет тем, как он масштабируется (существует четыре типа, которые можно найти здесь здесь ). Затем вы можете добавить этот pixbuf в буфер, используя:

buffer.insert_pixbuf(buffer.get_end_iter(), pixbuf)

Это добавит изображение в конец буфера.

Вы также можете делать такие вещи, как добавлять виджеты, устанавливать поля, копировать и вставлять из буфера обмена, вставлять курсор и т. д., но вы можете посмотреть ссылки ниже для этого.

Изменить: для форматированного сохранения / загрузки вы можете использовать метод сериализации textbuffers. Сначала вы должны использовать свой метод register_serialize_tagset ():

format = buffer.register_serialize_tagset()

Далее вы можете использовать свой метод serialize для получения сериализованных данных:

data buffer.serialize(buffer, format, buffer.get_start_iter(), buffer.get_end_iter())

Это вернет данные в textbuffer's который можно сохранить в файл. Чтобы загрузить эти данные, сначала вызовите метод register_deserialize_tagset () метода textbuffer:

format = emptyBuffer.register_deserialize_tagset()

Затем вы можете загрузить данные, используя его метод deserialize ():

emptyBuffer.deserialize(emptyBuffer, format, emptyBuffer.get_end_iter(), data)

Это приведет к загрузке данных в текстовом буфере.

Edit2: если вы хотите, чтобы пользователь мог перетаскивать, чтобы переместить и изменить размер, вам придется вместо этого загружать pixbuf в виджет изображения, виджет изображения в поле события, событие

Ресурсы:

1
ответ дан 6 August 2018 в 00:42

Вы действительно можете сделать это с помощью виджета TextView. Сначала вы должны установить редактируемое значение true:

textview.set_editable(true)

Вам нужно будет получить свой textbuffer, который является текстовыми данными:

buffer = textview.get_buffer()

Затем, используя этот буфер, вы можете получить и установить данные в нем. чтобы получить текст, используемый в настоящее время в буфере:

buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), false)

Первый и второй аргументы - это диапазон для получения текста, в этом случае все его отключает. Последний аргумент указывает, хотите ли вы получить скрытые символы, в этом случае false. Чтобы вставить текст, вы можете использовать следующее:

buffer.insert(buffer.get_end_iter(), "Sample text")

Первый аргумент указывает, куда вставлять текст, в этом случае в конце. второй аргумент - текст для вставки. Чтобы заменить все данные в буфере, вы можете использовать:

buffer.set_text("Sample text")

Это заменит все в буфере «Пример текста». Чтобы вставить изображение, вам нужно создать pixbuf для этого, используйте следующее:

pixbuf = gtk.gdk.pixbuf_new_from_file(filename)

Чтобы изменить размер использования pixbuf:

pixbuf.scale_simple(dest_width, dest_height, gtk.gdk.INTERP_BILINEAR)

Первые два аргумента - это новый ширины и высоты, третий аргумент - это тип интерполяции, который управляет тем, как он масштабируется (существует четыре типа, которые можно найти здесь здесь ). Затем вы можете добавить этот pixbuf в буфер, используя:

buffer.insert_pixbuf(buffer.get_end_iter(), pixbuf)

Это добавит изображение в конец буфера.

Вы также можете делать такие вещи, как добавлять виджеты, устанавливать поля, копировать и вставлять из буфера обмена, вставлять курсор и т. д., но вы можете посмотреть ссылки ниже для этого.

Изменить: для форматированного сохранения / загрузки вы можете использовать метод сериализации textbuffers. Сначала вы должны использовать свой метод register_serialize_tagset ():

format = buffer.register_serialize_tagset()

Далее вы можете использовать свой метод serialize для получения сериализованных данных:

data buffer.serialize(buffer, format, buffer.get_start_iter(), buffer.get_end_iter())

Это вернет данные в textbuffer's который можно сохранить в файл. Чтобы загрузить эти данные, сначала вызовите метод register_deserialize_tagset () метода textbuffer:

format = emptyBuffer.register_deserialize_tagset()

Затем вы можете загрузить данные, используя его метод deserialize ():

emptyBuffer.deserialize(emptyBuffer, format, emptyBuffer.get_end_iter(), data)

Это приведет к загрузке данных в текстовом буфере.

Edit2: если вы хотите, чтобы пользователь мог перетаскивать, чтобы переместить и изменить размер, вам придется вместо этого загружать pixbuf в виджет изображения, виджет изображения в поле события, событие

Ресурсы:

1
ответ дан 7 August 2018 в 18:08

Вы действительно можете сделать это с помощью виджета TextView. Сначала вы должны установить редактируемое значение true:

textview.set_editable(true)

Вам нужно будет получить свой textbuffer, который является текстовыми данными:

buffer = textview.get_buffer()

Затем, используя этот буфер, вы можете получить и установить данные в нем. чтобы получить текст, используемый в настоящее время в буфере:

buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), false)

Первый и второй аргументы - это диапазон для получения текста, в этом случае все его отключает. Последний аргумент указывает, хотите ли вы получить скрытые символы, в этом случае false. Чтобы вставить текст, вы можете использовать следующее:

buffer.insert(buffer.get_end_iter(), "Sample text")

Первый аргумент указывает, куда вставлять текст, в этом случае в конце. второй аргумент - текст для вставки. Чтобы заменить все данные в буфере, вы можете использовать:

buffer.set_text("Sample text")

Это заменит все в буфере «Пример текста». Чтобы вставить изображение, вам нужно создать pixbuf для этого, используйте следующее:

pixbuf = gtk.gdk.pixbuf_new_from_file(filename)

Чтобы изменить размер использования pixbuf:

pixbuf.scale_simple(dest_width, dest_height, gtk.gdk.INTERP_BILINEAR)

Первые два аргумента - это новый ширины и высоты, третий аргумент - это тип интерполяции, который управляет тем, как он масштабируется (существует четыре типа, которые можно найти здесь здесь ). Затем вы можете добавить этот pixbuf в буфер, используя:

buffer.insert_pixbuf(buffer.get_end_iter(), pixbuf)

Это добавит изображение в конец буфера.

Вы также можете делать такие вещи, как добавлять виджеты, устанавливать поля, копировать и вставлять из буфера обмена, вставлять курсор и т. д., но вы можете посмотреть ссылки ниже для этого.

Изменить: для форматированного сохранения / загрузки вы можете использовать метод сериализации textbuffers. Сначала вы должны использовать свой метод register_serialize_tagset ():

format = buffer.register_serialize_tagset()

Далее вы можете использовать свой метод serialize для получения сериализованных данных:

data buffer.serialize(buffer, format, buffer.get_start_iter(), buffer.get_end_iter())

Это вернет данные в textbuffer's который можно сохранить в файл. Чтобы загрузить эти данные, сначала вызовите метод register_deserialize_tagset () метода textbuffer:

format = emptyBuffer.register_deserialize_tagset()

Затем вы можете загрузить данные, используя его метод deserialize ():

emptyBuffer.deserialize(emptyBuffer, format, emptyBuffer.get_end_iter(), data)

Это приведет к загрузке данных в текстовом буфере.

Edit2: если вы хотите, чтобы пользователь мог перетаскивать, чтобы переместить и изменить размер, вам придется вместо этого загружать pixbuf в виджет изображения, виджет изображения в поле события, событие

Ресурсы:

1
ответ дан 10 August 2018 в 06:54

Вы действительно можете сделать это с помощью виджета TextView. Сначала вы должны установить редактируемое значение true:

textview.set_editable(true)

Вам нужно будет получить свой textbuffer, который является текстовыми данными:

buffer = textview.get_buffer()

Затем, используя этот буфер, вы можете получить и установить данные в нем. чтобы получить текст, используемый в настоящее время в буфере:

buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), false)

Первый и второй аргументы - это диапазон для получения текста, в этом случае все его отключает. Последний аргумент указывает, хотите ли вы получить скрытые символы, в этом случае false. Чтобы вставить текст, вы можете использовать следующее:

buffer.insert(buffer.get_end_iter(), "Sample text")

Первый аргумент указывает, куда вставлять текст, в этом случае в конце. второй аргумент - текст для вставки. Чтобы заменить все данные в буфере, вы можете использовать:

buffer.set_text("Sample text")

Это заменит все в буфере «Пример текста». Чтобы вставить изображение, вам нужно создать pixbuf для этого, используйте следующее:

pixbuf = gtk.gdk.pixbuf_new_from_file(filename)

Чтобы изменить размер использования pixbuf:

pixbuf.scale_simple(dest_width, dest_height, gtk.gdk.INTERP_BILINEAR)

Первые два аргумента - это новый ширины и высоты, третий аргумент - это тип интерполяции, который управляет тем, как он масштабируется (существует четыре типа, которые можно найти здесь здесь ). Затем вы можете добавить этот pixbuf в буфер, используя:

buffer.insert_pixbuf(buffer.get_end_iter(), pixbuf)

Это добавит изображение в конец буфера.

Вы также можете делать такие вещи, как добавлять виджеты, устанавливать поля, копировать и вставлять из буфера обмена, вставлять курсор и т. д., но вы можете посмотреть ссылки ниже для этого.

Изменить: для форматированного сохранения / загрузки вы можете использовать метод сериализации textbuffers. Сначала вы должны использовать свой метод register_serialize_tagset ():

format = buffer.register_serialize_tagset()

Далее вы можете использовать свой метод serialize для получения сериализованных данных:

data buffer.serialize(buffer, format, buffer.get_start_iter(), buffer.get_end_iter())

Это вернет данные в textbuffer's который можно сохранить в файл. Чтобы загрузить эти данные, сначала вызовите метод register_deserialize_tagset () метода textbuffer:

format = emptyBuffer.register_deserialize_tagset()

Затем вы можете загрузить данные, используя его метод deserialize ():

emptyBuffer.deserialize(emptyBuffer, format, emptyBuffer.get_end_iter(), data)

Это приведет к загрузке данных в текстовом буфере.

Edit2: если вы хотите, чтобы пользователь мог перетаскивать, чтобы переместить и изменить размер, вам придется вместо этого загружать pixbuf в виджет изображения, виджет изображения в поле события, событие

Ресурсы:

1
ответ дан 15 August 2018 в 18:52
  • 1
    Выглядит интересно. Спасибо за помощь. Любая идея о том, как я могу сохранить это в файле? Я подумывал о том, чтобы сделать свою собственную надбавку и сделать ее на основе ее чтения. – njallam 22 June 2012 в 11:31
  • 2
    @njallam Я обновил свой ответ с информацией о сохранении и загрузке – Sam Bickley 22 June 2012 в 19:39
  • 3
    Кроме того, изображения могут быть изменены пользователем (например, перетаскивание углов)? Методы находятся в Pixbuf, но как я могу их реализовать. Сожалею. Возможно, я немного задаюсь здесь. – njallam 22 June 2012 в 19:46
  • 4
    На самом деле более важно, как пользователь может перемещать изображение. – njallam 22 June 2012 в 19:51
  • 5
    Я добавил информацию о том, как вы позволите пользователю перемещать / изменять размер изображения. – Sam Bickley 22 June 2012 в 20:47

Другие вопросы по тегам:

Похожие вопросы: