Estoy portando una aplicación de Qt3 a Qt4, y necesito un reemplazo de Qt4 para QApplication :: mainWidget() que solía devolver el widget de nivel superior en Qt3. ¿Alguien sabe cómo hacer esto en Qt4?¿Qué QWidget * QApplication :: mainWidget() se convirtió en Qt4?
Respuesta
Técnicamente, cualquier widget inicializado con NULL es un widget de nivel superior, por lo que QApplication no debe asumir que uno de ellos es mejor que otro.
La forma en que generalmente lo hago es guardar un puntero al widget principal "real" en alguna parte, incluso una variable global o un singleton y referenciarlo cuando sea necesario.
Creo que topLevelWidgets() es lo más parecido posible.
Edit:
Yup. Qt4 agregó complejidad (y potencia). Ya no hay un MainWidget en toda la aplicación. Muchos QMainWindows se pueden crear y mostrar, y ocultar, y mostrar de nuevo. Esto es bueno, sin embargo :) Como notó shoosh, el comportamiento QT3 se puede simular fácilmente con la variable global (¡asqueroso!) O la subclase QApplication.
Creo que lo que está buscando ha sido reemplazado por la clase QMainWindow, que le permite establecer un set y get un widget central.
- 1. Qt - ¿Qué es QApplication, simplemente?
- 2. QApplication in Non-Main Thread
- 3. Qt4 lengüetas de expansión en QTabBar
- 4. C++ Señal de Qt y ranura que no se activa
- 5. Python: defaultdict se convirtió en un objeto inmarshallable en 2.6?
- 6. destructores en Qt4
- 7. QT4 QstringListModel en QListView
- 8. QT4 Memory Management
- 9. Codificación URL en Qt4
- 10. BitBlt en Qt4?
- 11. Qt4: ajustar qué widget enfocarse al inicio
- 12. Qt responder a keyPressEvent en niños QWidget
- 13. Qt - QWidget: No se puede crear un QWidget cuando no se usa ninguna GUI
- 14. Cómo configurar el color de fondo de QWidget?
- 15. ¿Debo usar QCoreApplication :: processEvents() o QApplication :: processEvents()?
- 16. ¿Hay QPath :: Combine en QT4?
- 17. usando Poppler Qt4 C++
- 18. QWidget keyPressEvent anulación
- 19. QApplication: Cómo cerrar con gracia en Ctrl-C
- 20. cmake no encuentra Qt4
- 21. QWidget resize signal?
- 22. Elemento Qt4 QMenu ordenando
- 23. Widget Latitud/Longitud Qt4?
- 24. qt QWidget clic
- 25. ¿Cuándo se convirtió el modo de archivo en Perl's abierto en un argumento separado?
- 26. Duplicar un QWidget
- 27. ¿Por qué esta ranura se llama dos veces?
- 28. ¿Por qué el destructor de QWidget no es virtual?
- 29. PyQt, haga clic en la acción Qwidget
- 30. Qt4: Escala invariable qgraphicsitem contornea
Sí, vi este método. Pero se sentía como un paso en la dirección equivocada, ya que agrega complejidad. Hasta ahora, este es el único caso en el que siento que Qt3 es mejor que Qt4, y es por eso que tuve que preguntar. Dejaré la pregunta abierta un poco más, pero si a nadie se le ocurre algo mejor, aceptaré su respuesta. Gracias. – Kristian
Bueno, siempre puedes hacer un seguimiento del "widget principal", dependiendo de tu aplicación. – Eugene