Fokusprobleme mit einem QWinWidget
Verfasst: 1. Juni 2009 21:21
Hallo,
ich bin aktuell noch ziemlicher Anfänger in Sachen GUI-Programmierung und habe mich erfolgreich durch die ersten Tutorials gearbeitet. In meinem aktuellen Projekt muss ich aber versuchen innerhalb einer MFC Anwendung Qt zu nutzen, was meinen Horizont ein wenig übersteigt.
Ich arbeite an einem Plugin für eine Anwendung, welches über ein CDialog gesteuert wird, welcher wiederum in ein Tab eingebettet ist.
Mit Hilfe des QtWinMigrate-Frameworks habe ich erfolgreich ein QWinWidget auf dem CDialog erstellt, positioniert und mit Inhalt gefüllt.
An dieser Stelle bekomme ich aber auch leider meine Probleme, weil ich ein QLineEdit nicht bearbeiten kann. Auch wenn ich es anklicke, bekommt das Feld keinen Fokus, weshalb ich den Inhalt nicht editieren kann (so zumindest meine Interpretation).
Eine QApplication habe ich mit dem Start des Plugins erstellt und führe folgenden Code im OnInitDialog() des CDialogs aus. w ist dabei ein QWinWidget* und als Member deklariert. Das Verhalten tritt sowohl mit dem kompletten Dialog aus dem Ui als auch mit der alleinigen Nutzung der auskommentierten Zeile auf.
Auch nach längerer Suche habe ich noch keine mir nützlichen Informationen gefunden und wäre dankbar, falls jemand eine Idee hat, was fehlt mir fehlt.
ich bin aktuell noch ziemlicher Anfänger in Sachen GUI-Programmierung und habe mich erfolgreich durch die ersten Tutorials gearbeitet. In meinem aktuellen Projekt muss ich aber versuchen innerhalb einer MFC Anwendung Qt zu nutzen, was meinen Horizont ein wenig übersteigt.
Ich arbeite an einem Plugin für eine Anwendung, welches über ein CDialog gesteuert wird, welcher wiederum in ein Tab eingebettet ist.
Mit Hilfe des QtWinMigrate-Frameworks habe ich erfolgreich ein QWinWidget auf dem CDialog erstellt, positioniert und mit Inhalt gefüllt.
An dieser Stelle bekomme ich aber auch leider meine Probleme, weil ich ein QLineEdit nicht bearbeiten kann. Auch wenn ich es anklicke, bekommt das Feld keinen Fokus, weshalb ich den Inhalt nicht editieren kann (so zumindest meine Interpretation).
Eine QApplication habe ich mit dem Start des Plugins erstellt und führe folgenden Code im OnInitDialog() des CDialogs aus. w ist dabei ein QWinWidget* und als Member deklariert. Das Verhalten tritt sowohl mit dem kompletten Dialog aus dem Ui als auch mit der alleinigen Nutzung der auskommentierten Zeile auf.
Code: Alles auswählen
w = new QWinWidget(this->m_hWnd, 0, 0);
//QLineEdit* edit=new QLineEdit(QString("Test"), w);
w->setGeometry(0,0,500,300);
Ui::Form ui;
ui.setupUi(w);
ui.lineEdit->setText(QString("Test");
w->setAttribute(Qt::WA_DeleteOnClose);
w->show();