QTableWidget
(resultTable)にポップアップメニューがあります。QtTestLibを使ってQActionにアクセスするには?
resultTable->setContextMenuPolicy(Qt::CustomContextMenu);
connect(resultTable, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(popUpMenuResultTable(QPoint)));
popUpMenuResultTable
機能:
void MyClass::popUpMenuResultTable(QPoint pos)
{
QMenu menu;
QAction* actionExport = menu.addAction(QIcon(":/new/prefix1/FileIcon.png"), tr("Export"));
connect(actionExport, SIGNAL(triggered()), this, SLOT(exportResultsTable()));
menu.popup(pos);
menu.exec(QCursor::pos());
}
は今、私はQtTestのlibを使用して、私のGUIをテストするための機能を実装する必要が私のクラスのコンストラクタで、私は、コンテキストメニューのポリシーを設定します。
結果テーブルを右クリックして、同じ結果をユーザーと同じように作成するにはどうすればよいですか?基本的にはactionExport
(QAction
)にアクセスしてそれを起動する必要があります。例えば
:
QTest::mouseClick(resultTable, Qt::RightButton, Qt::NoModifier, pos, delay);
を、それは
QMenu
は表示されません。
私はすでに試しました。
私はQt 5.3.2を使用しています。
コンテキストメニューイベントをウィジェットに送信しようとしましたか? I. 'QContextMenuEvent'を作成し、' QCoreApplication :: sendEvent() 'または' QCoreApplication :: postEvent() 'で送信します。 –
いいえ、私は試していません。どうすればいいのか簡単な例を教えてください。助けてくれてありがとう。 – KelvinS