Events versenden

Alles rund um die Programmierung mit Qt
Antworten
yane
Beiträge: 1
Registriert: 22. Februar 2006 21:17

Events versenden

Beitrag von yane »

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((QEvent *) event);
}

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
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: Events versenden

Beitrag von macman »

yane hat geschrieben:weiss jemand von euch, ob es möglich ist, von einem Hauptprogramm aus an einen von diesem Programm gestarteten Prozess ein Keyevent zu schicken?
Wozu soll das gut sein? Wäre es nicht besser seinen eigenen Event zu erstellen und den zu verschicken?
yane hat geschrieben:Ich habe es mit folgendem Code versucht:
Das üben wir noch mal, ich meine das posten von Code. Ich habe es gar nicht erst gelesen.
Antworten