C#とは、コントロール(Widget)の配置の仕方が違うので少しとまどいました。
別ウインドウに表示はしやすいのですが、メインウインドウ内に配置するには、レイアウトの指定が必要なようです。
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
table = new KakeiboTable(); // 親は addWidget() で設定されるので不要
ui->centralwidget->layout()->addWidget(table);
}
上記コードだけでは、エラーになります。centralwidgetにテーブルビューを配置したい場合は、cetnralwidgetをオブジェクトインスペクタで選択したら、メニュー>フォームエディタから、レイアウトの方法を指定する必要がありました。ここらへんは、Qt独特のところで慣れが必要なところかもしれません。
あとはmain.cppで
MainWindow *w = new MainWindow();
w->show();
MainWindow *w = new MainWindow();
w->show();
とするだけで、Widgetが配置されたメインウインドウを表示できます。
0 件のコメント:
コメントを投稿