0
ポインタでレイアウトの内容を変更することはできますか?Qtのポインタでレイアウト内容を変更
私は以下のようにしたいと思います。ヘッダで
:私はコンストラクタでウィジェットを設定するソースファイル内
QWidget* activeView;
QWidget* one;
QWidget* two;
...
、レイアウト第1プッシュ:
スロットまたは方法IとactiveView = one;
ui->activeLayout->addWidget(activeView);
以降activeView
:
activeView = two;
私はこれを試しましたが、動作しません。私はレイアウトの方法をupdate()
と呼んでいました。
しかし、なぜこの作品だろうか?ウィジェットの内容が特定の方法でコピーまたは処理されている可能性があると思ったのですが、update()メソッドで明示的に指示されたときにそれを再構築する必要があると思います。私はこれが私には合理的だと思います。私は何かを逃していることを知っている。 – godzsa
C++では、ポインタは単にメモリ位置のアドレスを格納します。関数へのポインターを渡すと、その関数に位置情報がコピーされるため、ポインタ変数を他の場所を指すように変更しても、関数に送信したメモリーの場所には影響しません。 –
ああ、確かに、私は何かが逃したことを知っていた:Dありがとう – godzsa