Tôi đang chuyển ứng dụng từ Qt3 sang Qt4 và cần thay thế Qt4 cho QApplication :: mainWidget() dùng để trả lại tiện ích con cấp cao nhất trong Qt3. Có ai biết làm thế nào để làm điều này trong Qt4?QWidget * QApplication :: mainWidget() trở thành gì trong Qt4?
Trả lời
Về mặt kỹ thuật, bất kỳ tiện ích nào được khởi tạo bằng NULL đều là tiện ích cấp cao nhất nên QApplication không được giả định rằng một trong số chúng là tốt hơn so với một tiện ích con khác.
Cách tôi thường làm là lưu con trỏ vào tiện ích con "thực" chính ở đâu đó, ngay cả biến toàn cục hoặc singleton và tham chiếu khi cần.
Tôi nghĩ rằng topLevelWidgets() gần như ở mức có thể.
Chỉnh sửa:
Yup. Qt4 thêm độ phức tạp (và sức mạnh). Không còn ứng dụng MainWidget nào nữa. Nhiều QMainWindows có thể được tạo và hiển thị, và ẩn, và hiển thị lại. Đây là một điều tốt, mặc dù :) Như shoosh nhận thấy, hành vi QT3 có thể dễ dàng mô phỏng với biến toàn cầu (yuck!) Hoặc lớp con QApplication.
Tôi nghĩ rằng những gì bạn đang tìm kiếm đã được thay thế bằng lớp QMainWindow, cho phép bạn đặt một tiện ích con trung tâm là set và get.
- 1. Các đối tượng QApplication() và QWidget() được kết nối như thế nào trong PySide/PyQt?
- 2. QApplication In Non-Main Thread
- 3. Qt - QApplication là gì, đơn giản?
- 4. gọi phương thức quit() của QApplication
- 5. BitBlt trong Qt4?
- 6. URL mã hóa trong Qt4
- 7. Quản lý bộ nhớ QT4
- 8. Cần một thứ gì đó giống như tín hiệu đã hoàn thành từ QWidget
- 9. Nhúng QWidget vào Cửa sổ X11
- 10. cmake không tìm thấy Qt4
- 11. Điều gì đã trở thành của MSXML 4.0?
- 12. QSplitter trở nên không thể phân biệt giữa QWidget và QTabWidget
- 13. Sự khác nhau giữa QMainWindow, QWidget và QDialog là gì?
- 14. Đợi đến khi QWidget đóng
- 15. Điều gì có thể khiến ViewData.ModelState.IsValid trở thành false
- 16. qt QWidget nhấp vào
- 17. Qt đáp ứng với keyPressEvent trong con QWidget
- 18. Trở * này trong chức năng thành viên
- 19. Trở thành Agile
- 20. QWidget :: heightForWidth() không được gọi là
- 21. Ví dụ QApplication khiến vỏ trăn bị chậm chạp
- 22. NavigateUrl = "#" trở thành href = "SubFolder/#"?
- 23. Qt4 sẽ không biên dịch với CMake
- 24. Qt - thay đổi bố cục QWidget
- 25. Cách di động để "fork()" trong ứng dụng Qt4?
- 26. Printf trở lại là gì?
- 27. Qt4 Các mục QMenu sắp xếp
- 28. Pagekey trở thành null trong OnNavigatedFrom trong layoutawarepage
- 29. PyQt, nhấp vào hành động trên Qwidget
- 30. FSM vs trở thành/không chắc chắn trong Akka
Vâng, tôi đã thấy phương pháp này. Nhưng nó cảm thấy như một bước đi sai hướng vì nó làm tăng thêm sự phức tạp. Đây là trường hợp duy nhất mà tôi cảm thấy rằng Qt3 tốt hơn Qt4, và đó là lý do tại sao tôi phải hỏi. Tôi sẽ để câu hỏi mở lâu hơn một chút, nhưng nếu không có ai đến với bất cứ điều gì tốt hơn tôi sẽ chấp nhận câu trả lời của bạn. Thanks .. – Kristian
Vâng, bạn luôn có thể tự theo dõi "tiện ích chính", tùy thuộc vào ứng dụng của bạn. – Eugene