web-dev-qa-db-ja.com

1つのBASHシェルスクリプトでGTKコマンドを使用できますか?

bashシェルスクリプト(単一ファイル)でループ変数などを実行して、zenityから他のプログラムの中でzenityを削除する)代わりにGTK関数を追加しますか?

はいの場合、bashコマンド、変数、ループ(bashシェルスクリプトからコピー)をqt4 designer?に追加することもできます。

GTK関数をbashコマンドと組み合わせることができる bashシェルスクリプト内、またはqt4デザイナーでbashコマンド内にある可能性があるかどうかを尋ねます。

zenityを取り除きたい(またはyad、kdialog)は、より高度なウィンドウに非常に限定されており、bashシェルスクリプトに既に存在する残りのbash関数をすべて使用するため、可能です?

6
GoldHaloWings

PythonにGTK +関数がある方法に「GTKコマンド」はありません。 GTK +は、いくつかの言語のバインディングを備えたライブラリですが、実行可能なcommandsが提供する機能を備えていません。 GTK + APIが実行できることの一部を、いくつかの外部コマンドを介して実行できます。

  • ダイアログボックスを表示するためのzenity、yadなど
  • クリップボードにアクセスするためのxselまたはxclip
  • アプリケーションウィンドウを制御するためのwmctrl

しかし、GTK +機能の大部分はコマンドでアクセスできません。

11
muru

@Sergiyには、Pythonのみを使用することが理想的であることに同意します。しかし、私はより良い妥協案を考えます。提案されたPythonからBashコードを実行するのではなく。 Bashコードを保持し、PythonからGTKのみを実行できるようにする必要があります。このようなもの :

exec 3> >(python3 &>/dev/null)

cat >&3 <<__CODE__
# python init gtk ...
__CODE__

# bash code ...
echo "..." >&3   # run a gtk command
# bash code ...

exec 3>&-
0
user285259