124.31 Qt

qt 出力形式は、Qt ライブラリを用いて別ウィンドウへの出力を生成します。

書式:

       set term qt {<n>}
                   {size <width>,<height>}
                   {position <x>,<y>}
                   {title "title"}
                   {font <font>} {{no}enhanced}
                   {rounded|butt}
                   {{no}replotonresize}
                   {{no}antialias}
                   {linewidth <lw>} {dashlength <dl>}
                   {{no}persist} {{no}raise} {{no}ctrl}
                   {close}
                   {widget <id>}

複数の描画ウィンドウもサポートしていて、set terminal qt <n> とすれば 番号 n の描画ウィンドウへ出力します。

デフォルトのウィンドウタイトルは、このウィンドウ番号に基づいています。 そのタイトルはキーワード "title" でも指定できます。

描画ウィンドウは、gnuplot の出力形式を別なものに変更した後でも開いた まま残ります。描画ウィンドウは、そのウィンドウが入力フォーカスを持って いる状態で文字 'q' を打つか、ウィンドウマネージャメニューで close を 選択するか、または set term qt <n> close とすることで閉じることができ ます。

描画領域のサイズはピクセル単位で与えます、デフォルトは 640x480 です。 それに加えて、ウィンドウの実際のサイズには、ツールバーやステータスバー 用のスペースも追加されます。 ウィンドウのサイズを変更すると、描画グラフもウィンドウの新しいサイズに ぴったり合うようにすぐに伸縮されます。qt 出力形式はフォント、線幅も含 めて描画全体を伸縮しますが、全体のアスペクト比は一定に保ちます。 その後 replot とタイプするか、ターミナルツールバーの replot アイコ ンをクリックするか、新たに plot コマンドを入力すると、その新しい描画 では完全にそのウィンドウに合わせられますが、フォントサイズや線幅はそれ ぞれのデフォルトにリセットされます。

position オプションは描画ウィンドウの位置を設定するのに使えます。これは コマンド set term 後の最初の描画にのみ適用されます。

現在の描画ウィンドウ (set term qt <n> で選択されたもの) は対話型で、 その挙動は、他の出力形式と共通です。詳細は、以下参照: mouse (110.53)。それには 追加のアイコンもいくつかついていますが、それらはそれ自体が説明的なもの になっているはずです。

この出力形式は、拡張文字列処理モード (enhanced text mode) をサポートし ていて、フォントや書式コマンド (上付、下付など) をラベルや他の文字列に 埋め込むことができます。拡張文字列処理モードの書式は、gnuplot の他の出 力形式と共通です。詳細は、以下参照: enhanced (13)

<font>"FontFace,FontSize" の形式で、FontFace と FontSize とをコ ンマで分離して一つの文字列として書きます。FontFace は、'Arial' のよ うな通常のフォント名です。FontFace を与えない場合は、qt 出力形式は 'Sans' を使用します。FontSize はポイント単位のフォントサイズです。 FontSize を与えない場合は、qt 出力形式は 9 ポイントを使用します。

  例 :
     set term qt font "Arial,12"
     set term qt font "Arial" # フォント名のみ変更
     set term qt font ",12" # フォントサイズのみ変更
     set term qt font "" # フォント名、、フォントサイズをリセット

dashlength は、点線/破線パターンのユーザ定義にのみ影響を与え、Qt が内部 に持っているパターンには影響を与えません。

可能な限り最も良い出力を生成するために、このレンダリングはアンチアリア ス、オーバーサンプリング、ヒンチングの 3 つの機構を持っています。 オーバーサンプリングは、アンチエイリアスと組でピクセルよりも小さいサイ ズでの精度を提供し、gnuplot が非整数座標の直線を書けるようになります。 これは、対角方向の直線 (例えば 'plot x') が左右に揺れるのを避けます。 ヒンティングは、オーバーサンプリングによって引き起こされる水平、垂直方 向の線分のぼかしを避けます。この出力形式は、これらの直線を整数座標に揃 え、それにより、1 ピクセル幅の直線は本当に 1 つ (1 つより多くも少なく もない) のピクセルで描画します。

butt は、求める線分の端点がはみ出さないような線分の描画方法を使うよう ドライバに指示します。この設定は、線幅が 1 より大きい場合にのみ適用しま す。この設定は、水平か垂直の線を書く場合に最も有用です。デフォルトは、 rounded です。

オプション replotonresize は、描画ウィンドウのサイズが変更されるとデ ータを replot します。このオプションがない状態では、アスペクト比を変え ないウィンドウサイズ変更の後で、ウィンドウの一部分しか描画されないかも しれません。このオプションをつけると、gnuplot は個々のサイズ変更イベン ト毎に完全に replot を行い、スペースを適切に利用した結果になります。こ のオプションは、サイズ変更の間の再描画に対する CPU の内在的な集中に心配 がある場合を除いては、一般的に望ましいものです。replot は、ホットキーの 'e' を使ったりコマンド 'replot' によって手動で実行することも可能です。

デフォルトでは、描画が行われたときにウィンドウはデスクトップの一番上 (最前面) に表示されます。これは、キーワード "raise" で制御できます。 キーワード "persist" は、すべての描画ウインドウを明示的に閉じない間 は、gnuplot が終了しないようにします。

<space> キーは gnuplot コンソールウィンドウを上に上げます (MS Windows のみ)。'q' は描画ウィンドウを閉じます。これらのホットキーは、terminal オプションキーワドの "{no}ctrl" を使うことで、ctl-space や ctrl-q に 変更できます。しかし、'q' の代わりに ctrl-q を選択するよりもよい方法は、 描画ウィンドウのツールウィジェットのトグルスィッチを使うことです。

プログラムのコンパイル時に選択した場所に、gnuplot の外部ドライバ gnuplot_qt がインストールされますが、環境変数 GNUPLOT_DRIVER_DIR を設定 することで置き場所を変更することもできます。

竹野茂治@新潟工科大学
2023-08-29