0

Qt を始めたばかりで、何かがわかりません。これが私のコードです:

#include <QApplication>
#include <QtWebKitWidgets/QWebView>
#include <QMainWindow>
#include <QPushButton>

    QApplication a(argc, argv);
    QMainWindow *mWin = new QMainWindow();
    QPushButton *button = new QPushButton("Button");

    button->setGeometry(0,0,128,56);
    button->show();

    mWin->setGeometry(QRect(300,300,1024,640));
    mWin->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
    mWin->show();

    return a.exec();

プログラムを起動すると、プッシュボタンが作成されますが、メイン GUI では作成されません。代わりに、画面の左上隅に表示されます。プッシュボタンをメイン GUI の一部にするにはどうすればよいですか?

4

4 に答える 4

0

親子関係を設定していないため、QMainwindow の子として QPushbutton が必要です。すると、QMainwindow に QPushbutton が表示されます。

これを試してください。正確に何を達成したいのかわかりません..しかし、以下のコードは、続行方法についていくつかのヒントを提供します..

  QApplication a(argc, argv);
    QMainWindow *mWin = new QMainWindow();
    QPushButton *button = new QPushButton(mWin); // setting parent as QMainwindow
    button->setGeometry(0,0,128,56);
   // button->show();
//mWin->setCentralWidget( button );

    mWin->setGeometry(QRect(300,300,1024,640));
    mWin->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
    mWin->show()

;

于 2013-08-21T05:04:25.283 に答える
0

メイン ウィンドウの中央ウィジェットを作成し、レイアウトを使用して中央ウィジェットにプッシュ ボタンを配置します。例えば:

QMainWindow *mWin = new QMainWindow();

// Place the button in a layout
QHBoxLayout *layout = new QHBoxLayout;
QPushButton *button = new QPushButton("Button");
layout->addWidget(button);

// Set up a central widget for the main window
QWidget *centralWidget = new QWidget();
centralWidget->setLayout(layout);
mWin->setCentralWidget(centralWidget);

setVisibleこの方法でボタンをレイアウトに配置した場合(または、他の回答の1つが示しているように、中央のウィジェット自体として)、ボタンにジオメトリを設定する必要はなく、呼び出す必要もありませんshowボタン上で明示的に (ただし、メイン ウィンドウ上で行う必要があります)。

詳細については、アプリケーションの例など、Qt の例を参照してください。

于 2013-08-21T05:06:55.470 に答える