私は C++ の初心者で、MVS IDE のコードを通じて QT コンポーネントの使用方法を学び始めました。それが最初の選択肢として最適だったかどうかはまだわかりませんが、私は Java プログラマーなので、Java (Swing コンポーネント) で作成したパスを作成しました。だから、私の問題は、私のコードの2つのクラスを通信する方法です.1つはウィンドウフレームを作成し、もう1つはメニューバーを作成しましたか?
Java では、次のようなものを作成します。
JFrame frame = new JFrame();
JMenu menu = new JMenu();
frame.add(menu);
とにかく、これは私のコードです:
#include "Header.h"
class MainWindow{
private:
QWidget *widget;
public:
void buildWindow(QApplication& app){
widget = app.desktop();
QMainWindow *main_window = new QMainWindow();
QWidget *mainWid = new QWidget(main_window);
MyMenuBar myMenuBar(mainWid);
main_window->setWindowState(mainWid->windowState() | Qt::WindowMaximized);
main_window->setWindowTitle("QT Trainning");
main_window->show();
}
};
class MyMenuBar:QMainWindow {
public:
MyMenuBar(QWidget* mainWid){
QAction *quit = new QAction("&Quit", this);
QMenuBar *menu = new QMenuBar(mainWid);
QMenu *file;
menu->addMenu(file);
file = menuBar()->addMenu("&File");
file->addAction(quit);
connect(quit, SIGNAL(triggered()), qApp, SLOT(quit()));
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow frame;
frame.buildWindow(app);
return app.exec();
}
Window クラス内に MenuBar のインスタンスを作成しようとしましたが、あまり役に立ちませんでした。正直に言うと、QT インターフェイスを扱うために見つけた資料のほとんどは、QT GUI を使用していると思われます...方法に関するヒント問題を解決するか、C++ を練習するために実際に何をすべきか??
前もって感謝します