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 度単位な回転ができるっぽい、他も含めてやってみる。
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 | #!/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 だと改行が矢印になるんだね、笑った。
今日はコチドリを見つけました、やっとツバメ以外の夏鳥が撮れた。
駐車場でウロウロしていたけどそんな所にミミズいないだろ。
デカいカワセミ、ではなくイソヒヨドリです。
五条川で見たのは二回目、前回は超望遠をもっておらず点でしたけど。