0

私の意図は、リーチ テキスト コントロールを備えた QTextEdit を作成することです。ツールバーに配置したいコントロール。しかし、私はレイアウトを制御するのに苦労しています。問題は、ツールバーを持つ QWidget (私のクラスは QWidget を継承) に QTextEdit を配置すると、重複することです。

私が試した別の方法は次のとおりです。私のクラスは QTextEdit を継承し、ツールバーがあります。現在、レイアウトは異なりますが、私が望むものではありません。素敵な景色が見えるように助けてください。

4

2 に答える 2

3

ツールバーと QTextEdit を、QWidget を継承するクラス内のレイアウトに配置します。レイアウト ( QVBoxLayoutを参照) はアイテムを相互に相対的に配置し、アイテムが重ならないようにします。レイアウトを使用しない場合、すべての子ウィジェットは位置 (0,0)、つまり親ウィジェットの左上隅に作成されます。

QWidget* widget = new QWidget();
QToolBar* toolbar = new QToolBar(widget);
QTextEdit* textedit = new QTextEdit(widget);

QVBoxLayout* layout = new QVBoxLayout(widget);
layout->addWidget(toolbar);
layout->addWidget(textedit);

そしてほら、ウィジェットはもう重なりません。

于 2010-09-02T13:27:33.853 に答える
1

しばらく前に、私は独自のテキスト エディターを作成し、あなたと少し似ていました。QMainwWindow を main_window として使用し、中央のウィジェットとして、レイアウト (QVBoxLayout) を持つ単純な QWidget を使用します。そのレイアウトに、独自の text_edit (QTextEdit から派生) を新しいタブとして追加できる QTabWidget を配置しました。

メイン ウィンドウに追加した 3 つのツールバーがありました。そのため、自分で書いた QTextEdit の周りを自由に移動できます。

また、DockWidgets を使用して、ファイル エクスプローラーとログ ウィンドウを追加しました。

代替テキスト

于 2010-09-02T13:27:53.193 に答える