問題タブ [gtkbuilder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - GtkBuilder を使用して信号を自動的に接続するとダイアログが壊れるが、信号を手動で接続すると機能する
ダイアログを閉じるボタンと閉じないボタンがあるダイアログ ウィンドウが必要です。これを行う方法は、response
からの信号を使用してダイアログGtk.Dialog
を呼び出すことです。emit_stop_by_name('response')
(誰かがこれを行うためのより良い方法を知っている場合、それはこの質問の残り全体を先取りする可能性があります。)
これは、PyGTK を使用したときに機能しました。私は今 PyGObject に移行しています..この手法は、を使用するのではなく、手動で応答信号に接続する場合にのみGtk.Builder.connect_signals()
機能するようです。
しかし、私の言葉を鵜呑みにしないでください。これが私の問題の最小限の例です:
これを実行すると、ボタンが 1 つだけのウィンドウが表示されます。そのボタンをクリックすると、「ダイアログを閉じない」というラベルの付いた 1 つと「ダイアログを閉じる」というラベルの付いた 2 つのボタンを含むダイアログがポップアップします。上記のコードを実行すると、両方のボタンがダイアログを閉じます。
Gtk.Builder.connect_signals()
ただし、使用から手動で信号を接続するように変更した場合は、
と
その後、設計どおりに機能し始めます(「ダイアログを閉じない」ボタンはダイアログを閉じません)。
しかし、これらの 2 つの行は、このコンテキストでは機能的にまったく同じであるべきではないでしょうか? 2 つのシナリオの違いを理解する方法はありますか?
から CLI にテキストがまだ出力されているため、両方の状況で信号がまだ接続されていることがわかりますDummyDialog.on_response
。しかし、widget.emit_stop_by_name('response')
GtkBuilder を使用すると、一部が機能しなくなったようです。
さらに困惑するのは、この正確なコードを取得して PyGTK ( に変更) で実行すると、両方のシナリオで (またはを使用しfrom gi.repository import Gtk
て) 正しく動作することです。import gtk as Gtk
self.builder.connect_signals(self)
self.dialog1.connect('response', self.on_response)
gtk - メニューバーの遅延を防ぐにはどうすればよいですか?
私が見たすべての GTK 3 アプリケーションでは、アプリケーションの起動時にメニュー バーが表示されるまでに約 1 秒の遅延があります。現在作業中のアプリケーションにもこの問題があります。この遅延を防ぐ方法はありますか?
python - 「プライマリツールバー」スタイルクラスをgtk.Builderオブジェクトに追加した後、ツールバーのgtk.ToolButtonsはプライマリをテーマにしたものではありません
ツールバーをストックのUbuntuアプリの標準ツールバーのように見せようとしていますが、ツールバーのボタンに正しいテーマが適用されていないことを除けば、ある程度は機能します。テキストはデフォルトのツールバー用に色分けされており、ホバーすると、ボタンは標準のUbuntuアプリのように濃い灰色になるのではなく、醜い黄褐色になります。
言い換えれば、私はこれを取得しています:
これの代わりに:
(画像を直接投稿するのに十分な担当者がいません)
Gladeにはツールバーのスタイル自体を変更するオプションがないようであるため、ツールバーのスタイルを変更するために次の方法を使用しています。
これは、ツールバーが暗くなる程度まで機能しますが、ボタンのテーマが正しくありません。STYLE_CLASS_PRIMARY_TOOLBAR
を使用する代わりに、設定後にツールバーにボタンを手動で追加しようとしましたが、ボタンGtk.Builder()
も適切な色ではありませんでした。
ツールバーを手動で作成し、すべての情報を入力することでうまくいくと思いますが、デザインにGladeを使用できると便利です。
qt4 - Python3クロスプラットフォームGUIツールキット
python3で動作するOSXおよびGNU/Linux互換のGUIツールキットが必要です。
GTK3をGObjectイントロスペクションで試しましたが、OSXにデプロイするのは困難でした。OSXで実行されるgtkビルダー互換のようなものはありますか?
私の要件は何ですか:
- IDEビルダーを使用したXMLベースのレイアウト
- OSXで実行されます(互換性があるか、GNU / Linuxでそのまま動作します)
- Python3で動作します
- TKほど醜くない:)(冗談)
internationalization - gtk ビルダー ファイル、GTK+ 2 の翻訳ドメインを設定できません
gtk+2 アプリを国際化したいと考えています。ソースコードに文字列があればそれができます(_("String"))。xgettextを使用して .ui ファイルからすべての文字列を抽出しました。大丈夫です。私はそれを翻訳しました。次を使用して、インターフェイス ファイルのテキスト ドメインを設定します。
うまくいきません。すべての文字列は最初と同じです。GTK+ 2.24.10 を使用しています。プログラム内のすべての文字列を取得して_()を使用したくありません。
haskell - ListStore GtkBuilder にアクセスするにはどうすればよいですか
次のコードを使用して、GUI の要素をロードしています。
名前付きの「window」ListStore
にアクセスしたように、名前付きの「listStore」にアクセスするにはどうすればよいですかWindow
例:
gtk - 複合テンプレートを使用すると GMenu が機能しなくなるのはなぜですか?
私は一緒に仕事をしようGMenu
としています。composite templates
gtk-mumble.vala
gtk_mumble.ui
リソース.xml
ビルド コマンド:
このコードにより、実行時にアサーションが失敗します。
はGMenu
機能しませんが、残りの UI は機能します (たとえば、UI テンプレートが読み込まれ、ボタンがあり、信号が機能します)。
[Gtk..]
すべての属性を削除するGMenu
と機能し、アサーションは失敗しませんが、もちろん残りの UI は機能しなくなります。
編集:回避策として、Gtk.Box
テンプレートを使用して作成し、このボックスをメイン ウィンドウに追加します。それは機能しますが、直接的なアプローチが機能しない理由を知りたいです。
私が使用しているバージョンは次のとおりです。
- Vala 0.22.1 (0.23.3でも試しました)
- GLib 2.40.0
- Gtk+ 3.12.0