2

アプリケーションを開始したときに、Qt Designer で間違ったテンプレートを選択しました。

File -> New -> Widget を実行しました。

今、私はメニューが必要です。したがって、メイン ウィンドウ テンプレートが必要だと思います。

テンプレートをシームレスに変更できますか、それとも新しいフォームを作成してすべてをドラッグする必要がありますか?

4

2 に答える 2

2

テンプレートQWidgetQMainWindow.

今Qt 4.8.4で、次のことを行いました:

Qt Creator の外部で ui ファイルを開き (Qt Creator で閉じた後)、ファイル内の行を編集しました。

編集: 作業中のファイルのバックアップを作成してください。この ui ファイルの編集は少し不適切であり、奇妙で未定義の影響を与える可能性があるためです。

ウィジェット.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Widget</class>
 <widget class="QMainWindow" name="Widget"> <!-- This is the line I edited...
 "QMainWindow" was "QWidget".-->
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>300</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Widget</string>
  </property>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
</ui>

ウィジェット.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QMainWindow>// Edited this line, too

namespace Ui {
class Widget;
}

class Widget : public QMainWindow // Edited this line.
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

最終結果: Qt Creator/Designer では、QMainWindow の空白の領域を右クリックするだけで、ツールバー、メニューバー、ステータスバーなどを追加できるようになりました。

それが役立つことを願っています。

于 2013-06-03T23:41:27.367 に答える