3

私は GUI を作成するのは得意ではありません。一般的に私の哲学は次のとおりです。GUI を作成しないか、できる限りシンプルにします (そして、その方が使いやすさに優れていると自分に言い聞かせます :)

私の現在のプロジェクトでは、Python (PyQt) の Qt を使用しています。インターフェースを乱雑にすることなく、いくつかの GUI 要素の追加を開始したいと考えています。

私のアイデアは、これらの要素を、必要な場合にのみ表示されるフローティング形状のウィジェットのようなものとして作成することです。Chrome のステータス バー (および検索バー) によく似ています。

この種のインターフェイスを作成できる標準の API はありますか?

4

1 に答える 1

5

これはそれほど複雑ではありません。Chromeのステータスバーのようなものが必要な場合は、ウィンドウの下部にQFrameを配置し、必要なときに表示または非表示にする必要があります。

ここには2つのオプションがあります。ウィンドウレイアウトの一部として追加するので、表示されたときにすべてのアイテムが上に移動します。または、フローティングの場合はアイテムの上に表示されるようにすることもできます。2番目のオプションでは、ウィンドウを親としてQFrameを作成し、ウィンドウのresizeEventでフレームのジオメトリを設定する必要があります。

これは2番目のアプローチの例です。

void MyWindow :: resizeEvent(QResizeEvent * event){frame.setGeometry(0、this-> height()-frame.sizeHint()。height()、this-> width()、frame.sizeHint()。height() ); }

これがお役に立てば幸いです。

于 2010-06-11T08:59:46.150 に答える