2016-04-18 11 views
0

私のかなり複雑なアプリケーションでは、いくつかのQmainWindowsを作成します。これは条件によって表示/非表示になります。彼らの振る舞いをより決定論的にするために、私はsetPosition()を使ってその位置を設定したいと思います。問題は、QMainWindowがQWindowから派生したものではないということです。したがって、setPosition()はありません。私の質問:QMainWindowの位置を設定するには?

  • なぜQMainWindowはQWindowから派生していないのですか? (私の好奇心)

  • QMainWindowの位置を設定するにはどうしたらいいですか?

+2

なぜ '移動(int型のx、int型のy)は'あなたには適していませんか? – Tarod

+0

QWindowは新しいクラスであり、ネイティブとプラットフォームに依存しないUIウィンドウ間のアダプタです。 QWidgetは、歴史的にはほとんどのQt UIクラスの親です。実際、QWindowはそれほど長くはありません。そして、はい、QMainWindowはQWidgetから派生しています。 – AlexanderVX

+0

@Tarod setPosition():)が見つかりました。そして、私はそれを見せる前に私が設定しようとしているからです。ありがとう、私はQtの歴史で教育を受けていません。 – katang

答えて

1

QMainWindowがQWindowに由来しないのはなぜ

を(@Tarodと@AlexanderVXはすでにコメントに答えを与えたが、ここで彼らは再びです)

QMainWindowは、QWindowが発明されてからずっと前に存在していたためです。

QMainWindowは、QWidgetを継承します。 QWidgetは柔軟性があります。それはトップレベルのウィンドウになることができます、またはそれはより大きいウィジェットの一部になることができます。これは、QMainWindowを別のウィジェットに入れることができることを意味します(しかし、そうしたくないかもしれません)。

QMainWindowの位置を設定するにはどうすればよいですか?

あなたが他のQWidgetの位置設定と同じ方法:http://doc.qt.io/qt-5/qwidget.html#pos-propQWidget::move()

関連する問題