/usr/share/help/cs/gnome-devel-demos/image.py.page is in gnome-devel-docs 3.28.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | <?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="image.py" xml:lang="cs">
<info>
<title type="text">Image (Python)</title>
<link type="guide" xref="beginner.py#display-widgets"/>
<link type="seealso" xref="properties.py"/>
<link type="next" xref="strings.py"/>
<revision version="0.2" date="2012-06-14" status="draft"/>
<credit type="author copyright">
<name>Marta Maria Casetti</name>
<email its:translate="no">mmcasetti@gmail.com</email>
<years>2012</years>
</credit>
<credit type="editor">
<name>Sindhu S</name>
<email its:translate="no">sindhus@live.in</email>
<years>2014</years>
</credit>
<desc>Widget zobrazující obrázek</desc>
</info>
<title>Image</title>
<media type="image" mime="image/png" src="media/image.png"/>
<p>Tato GtkApplication zobrazí soubor s obrázkem z aktuální složky.</p>
<note><p>V případě, že se soubor s obrázkem úspěšně nenačte, bude obrázek obsahovat ikonu „poškozený obrázek“. Aby tento program fungoval, musí se <file>název_souboru.png</file> nacházet v aktuální složce.</p></note>
<links type="section"/>
<section id="code">
<title>Kód použitý k vygenerování tohoto příkladu</title>
<code mime="text/x-python" style="numbered">
from gi.repository import Gtk
import sys
class MyWindow(Gtk.ApplicationWindow):
# Vytvoří okno
def __init__(self, app):
Gtk.Window.__init__(self, title="Welcome to GNOME", application=app)
self.set_default_size(300, 300)
# Vytvoří obrázek
image = Gtk.Image()
# Nastaví obsah obrázku na gnome-image.png
image.set_from_file("gnome-image.png")
# Přidá obrázek do okna
self.add(image)
class MyApplication(Gtk.Application):
def __init__(self):
Gtk.Application.__init__(self)
def do_activate(self):
win = MyWindow(self)
win.show_all()
def do_startup(self):
Gtk.Application.do_startup(self)
app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)
</code>
<p>Jiným způsobem, jak získat to, co máme v tomto příkladu, je vytvořit obrázek jako instanci jiné třídy a jeho přidání do instance <code>MyWindow</code> v metodě <code>do_activate(self)</code>:</p>
<code mime="text/x-python">
# Třída pro vytvoření okna
class MyWindow(Gtk.ApplicationWindow):
def __init__(self, app):
Gtk.Window.__init__(self, title="Welcome to GNOME", application=app)
self.set_default_size(300, 300)
# Třída pro vytvoření obrázku
class MyImage(Gtk.Image):
def __init__(self):
Gtk.Image.__init__(self)
self.set_from_file("gnome-image.png")
class MyApplication(Gtk.Application):
def __init__(self):
Gtk.Application.__init__(self)
def do_activate(self):
# Vytvoří instanci MyWindow
win = MyWindow(self)
# Vytvoří instanci MyImage a přidá ji do okna
win.add(MyImage())
# Zobrazí okno a vše v něm
win.show_all()
</code>
<note>
<p>Abyste mohli použít tento úryvek kódu, musíte přidat kód, který importuje <code>Gtk</code> a <code>GdkPixbuf</code> z <code>gi.repository</code> a řádky, které vytváří instanci okna <code>MyApplication</code>.</p>
</note>
</section>
<section id="methods">
<title>Užitečné metody pro widget Image</title>
<list>
<item>
<p>Pro načtení obrázku ze sítě použijte <code>set_from_pixbuf(pixbuf)</code>, kde <code>pixbuf</code> je <link href="https://developer.gnome.org/gdk-pixbuf/unstable/index.html">GdkPixbuf</link>.</p>
<code mime="text/python">
from gi.repository import Gtk
from gi.repository import GdkPixbuf
import sys
class MyWindow(Gtk.ApplicationWindow):
# Vytvoření okna
def __init__(self, app):
Gtk.Window.__init__(self, title="Welcome to GNOME", application=app)
self.set_default_size(300, 300)
# Vytvoření pixbuf ze souboru filename="gnome-image.png" s šířkou width=32
# a výškou height=64 a s preserve_aspect_ratio=False.
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale("gnome-image.png", 64, 128, False)
# Vytvoření obrázku
image = Gtk.Image()
# Nastavení obsahu obrázku z pixbuf
image.set_from_pixbuf(pixbuf)
# Přidání obrázku do okna
self.add(image)
</code>
<p>Pokud je <code>preserve_aspect_ratio=True</code> můžeme použít <code>new_from_file_at_size(název_souboru, šířka, výška)</code>. Když je <code>šířka</code> nebo <code>výška</code> rovna <code>-1</code>, znamená to bez omezení.</p>
<p>Ohledně načtení ze vstupního datového proudu se podívejte do dokumentace na <code>new_from_stream()</code> a <code>new_from_stream_at_scale()</code>.</p>
</item>
</list>
</section>
<section id="references">
<title>Odkazy k API</title>
<p>V této ukázce se používá následující:</p>
<list>
<item>
<p><link href="https://developer.gnome.org/gtk3/unstable/GtkImage.html">GtkImage</link></p>
</item>
<item>
<p><link href="https://developer.gnome.org/gtk3/unstable/GtkWindow.html">GtkWindow</link></p>
</item>
</list>
</section>
</page>
|