1.自定义菜单栏需继承自QWidgetAction.
2.新建桌面应用程序testQMenuCustom,基类QMainWindow,勾选创建界面文件,其他选项默认。
3.当前项目添加C++类MyAction,继承自QWidgetAction,编辑myaction.h文件
界面文件
在界面文件中加入QTextEdit部件
选中QTextEdit部件,按Ctrl+j,可以使部件部件占满界面
代码
myaction.h
#ifndef MYACTION_H
#define MYACTION_H
#include <QWidgetAction>
#include <QLineEdit>
class MyAction : public QWidgetAction
{
Q_OBJECT
public:
MyAction(QObject* parent = 0);
protected:
QWidget *createWidget(QWidget* parent);//重写
signals:
void getText(const QString& string);
private slots:
void sendText();
private:
QLineEdit* lineEdit;
};
#endif // MYACTION_H
myaction.cpp
#include "myaction.h"
#include <QSplitter>
#include <QLabel>
MyAction::MyAction(QObject *parent):QWidgetAction(parent)
{
lineEdit = new QLineEdit;
conne