0

ユーザーの操作なしで QWidget に折りたたまれていない QMenu をポップアップしたい。現時点では、右クリックすると空の QWidget に QMenu が表示されます。contextMenuEvent(QContextMenuEvent *event) シグナルをプログラムで呼び出す方法はありますか?

別の方法として、メニューバーにメニューを追加することもできます。しかし、これは崩壊している。メニューを折りたたんで表示することはできますか?

どんなアイデアでもうれしいです。ありがとう!

編集:コードスニペット

 TestMenu::TestMenu(QWidget *parent)
 : QWidget(parent)
{
   ui.setupUi(this);
  //remove frame from widget
   this->setWindowFlags(Qt::FramelessWindowHint );
  //add menu
  QMenu menu(this);
  QAction* firstEntry = new QAction(tr("Ask a question"), this);
  connect(firstEntry, SIGNAL(triggered()), this, SIGNAL(askCollegueDialogRequested()));
  menu.addAction(firstEntry);
  menu.popup(this->mapToGlobal(QPoint(0,0)));
  menu.activateWindow();
 }

メニューのない空のウィジェットしか表示されません。別のクラスからウィジェットの show() を呼び出します。問題は、QMenu が実際にはウィジェットに追加されていないことです。しかし、メニューバーを使用せずに追加する方法は今はわかりません:-(。

4

1 に答える 1