QT KeyEvents
-
Hallo zusammen,
weiss jemand von euch, ob es möglich ist, von einem Hauptprogramm aus an einen von diesem Programm gestarteten Prozess ein Keyevent zu schicken?
Ich habe es mit folgendem Code versucht:
hauptprogramm
//Konstructor
CMainMenu::CMainMenu()
{
uiM.setupUi(this);showMaximized();
createActions();
startProcess.start("\"H:\\test\\release\\test.exe\"");
}
//Destruktor
CMainMenu::~CMainMenu()
{}
void MainMenu::keyPressEvent(QKeyEvent *event)
{
uiM.infoLabel->setText(tr("Invoked <b>key event before</b>"));
startProcess.event((QEventevent);
}void CMainMenu::ZoomOnOff()
{
//Aufruf erfolgt über Auswahlmenü
//uiM.infoLabel->setText(tr("Invoked <b>Zoom on</b>"));
keyEvent = new QKeyEvent(QEvent::KeyPress, Qt::Key_P, Qt::NoModifier);
keyPressEvent(keyEvent);
}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Process
// Konstruktor
secondtest::secondtest()
{
uiM.setupUi(this);
showMaximized();}
//Destruktor
secondtest::~secondtest()
{}
void secondtest::keyPressEvent(QKeyEvent *event)
{
uiM.testLabel->setText(tr("Invoked <b>key event</b>"));}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Das Hauptprogramm soll entsprechend der Menü-Auswahl ein KeyEvent an den aufgerufenen Process senden, der hier dann weiterverarbeitet wird.
Viele Grüße
yane
-
Hallo,
mit Qt4 und der Klasse QProcess kannst du Text an ein Programm schicken. Ich glaube, das funktioniert aber nur wenn der gestartete Prozess ein Konsolenprogramm ist.
Viele Grüße
-
Hi headhunter,
danke für deine Antwort.
Aber ehrlich gesagt, weiss ich nicht, wie das funktioniert mit QProcess und Text verschicken. Habe heute abend Funktionen ausprobiert und nichts ging wirklich. Vermutlich habe ich schlicht und ergreifend Fehler im jeweiligen Aufruf gemacht. Kenne mich mit QT eigentlich überhaupt nicht aus. Na, ich werde es noch herausbekommen.Viele Grüße
yane