FC2ブログ

Qtのステータスバーの使い方まとめ

・一時的にメッセージを表示する
ui.statusBar->showMessage(tr("message"));

これでメッセージを表示した場合、フォーム中のボタン上をマウスが通過した場合など、GUIに変化が起きた場合にメッセージが消えてしまいます。


・時間制限付きでメッセージを表示する
ui.statusBar->showMessage(tr("message"), 3000);

この場合、GUIに変化が起きた場合、もしくは3秒経過するとメッセージが消えます。


・時間が経っても削除されないメッセージを表示する
QLabel* label = new QLabel;
ui.statusBar->addWidget(label);

label->setText(tr("message"));

ステータスバーにラベルをつけることで、消えないメッセージを表示することができます。
ただし、フォームデザイナではステータスバーのデザインはできないようなので、フォームのコンストラクタ等でステータスバーにラベルを追加する処理を書く必要があります。


・右寄せでメッセージを表示する
QLabel* label_l = new QLabel;
QLabel* label_r = new QLabel;
ui.statusBar->addWidget(label_l, 1);
ui.statusBar->addWidget(label_r, 0);

label_l->setText(tr("message left"));
label_r->setText(tr("message right"));

”右寄せ属性”のようなものは無いようです。

代わりに、どのウィジェットをステータスバー上のメインパーツにするのかを指定することができます。

上記の例の場合、label_lがメイン部分、label_rとなり、label_rは現在の文字列を表示するのに最小の幅、label_lは残りの面積を全て占有するようなレイアウトとなります。

また、addWidgetを指定した順序に従い、label_l:左側、label_r:右側、となり結果としてlabel_rが右寄せで表示されます。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

カレンダー
11 | 2018/12 | 01
- - - - - - 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 - - - - -
最新記事
カテゴリ
Qt (21)
SDL (2)
MFC (2)
検索フォーム
月別アーカイブ
最新コメント
最新トラックバック
RSSリンクの表示
リンク
リンク(管理用)
FC2カウンター