GTK4 の基本と外枠のまとめはゴールデンウイークに作った。
細かい Widget はどうするか、ほとんど GTK3 と変わっていないのですし。
でもその時だけ GTK3 のページを見てくれじゃアレなんで少し書き足そうかと。
Gtk(PyGObject) Tips | ラベル – Paepoi
とりあえずコイツの GTK4 化だな。
angle プロパティが無くなった以外は特に問題無さそうにみえる。
回転するにはどうするのかな、pango を使えになったのだろうか?
Pango ? 1.0: Text Attributes and Markup
angle に相当するものはないようで。
text_transform に rotate(deg90) はやっぱりダメか。
でも gravity という重力の指定でどの方向が下なのか決めることはできる。
これで 90 度単位な回転ができるっぽい、他も含めてやってみる。
#!/usr/bin/env python3 import gi gi.require_version('Gtk', '4.0') gi.require_version('Adw', '1') from gi.repository import Gtk, Adw class Win(Gtk.ApplicationWindow): def __init__(self, a): manager = Adw.StyleManager.get_default() manager.set_color_scheme(Adw.ColorScheme.DEFAULT) Gtk.ApplicationWindow.__init__(self, application=a) # mouse move labels = [ Gtk.Label(label='中心'), Gtk.Label(label='左寄せ', xalign=0), Gtk.Label(label='右寄せ', xalign=1), #Gtk.Label(label='180度回転', angle=180), Gtk.Label(label='<s>打ち消し線</s>を入れたり', use_markup=True), Gtk.Label(label='<span bgcolor="red">赤くする</span>とか', use_markup=True), Gtk.Label(label='<span fgcolor="blue">青くする</span>とか', use_markup=True), Gtk.Label(label='<span font_weight="heavy">太くする</span>とか', use_markup=True), Gtk.Label(label='<span font_style="italic">italic にしたり</span>とか', use_markup=True), Gtk.Label(label='エスケープ文字も\n\t使えます', xalign=0), Gtk.Label(label='エスケープ文字を\n\t無効にする', xalign=0, single_line_mode=True), Gtk.Label(label='薄くする', opacity=0.3), # Gtk.Label(label='<span text_transform="uppercase">uppercase</span>とか', use_markup=True), #Gtk.Label(label='<span text_transform="ratate 45deg">回転</span>Error', use_markup=True), Gtk.Label(label='<span gravity="north" baseline_shift="13pt">反転</span>とか', use_markup=True), Gtk.Label(label='<span gravity="west" baseline_shift="8pt">西が下</span>とか', use_markup=True) ] # vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) for label in labels: vbox.append(label) vbox.append(Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL)) # self.set_child(vbox) self.set_default_size(200, 200) app = Gtk.Application() app.connect('activate', lambda a: Win(a).present()) app.run()
なんとかなった。
baseline_shift に注意、元のベースラインを軸に回転するので上に動かす。
でもコレ環境によるよなぁって、まあ回転は可能ってことで。
それと single_line_mode だと改行が矢印になるんだね、笑った。
今日はコチドリを見つけました、やっとツバメ以外の夏鳥が撮れた。
駐車場でウロウロしていたけどそんな所にミミズいないだろ。
デカいカワセミ、ではなくイソヒヨドリです。
五条川で見たのは二回目、前回は超望遠をもっておらず点でしたけど。