(Statische) Menüpunkte zu einer MenuBar hizufügen

  • C++

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von KidRick.

    (Statische) Menüpunkte zu einer MenuBar hizufügen

    Hallo Leute,
    ich designe Programme lieber durch Code anstatt sie zusammenzuklicken. Nun habe ich aber, naja, ein Problem. Mein Code sieht folgendermaßen aus (Header+Source):

    C-Quellcode

    1. class Sample_Main_Window : public QMainWindow {
    2. public:
    3. Sample_Main_Window(QWidget *parent = 0);
    4. ~Sample_Main_Window();
    5. QMenuBar *menu_bar;
    6. QMenu *file_menu;
    7. QMenu *edit_menu;
    8. QMenu *view_menu;
    9. QMenu *object_menu;
    10. QMenu *plugins_menu;
    11. QMenu *tools_menu;
    12. QMenu *javascript_menu;
    13. QMenu *extras_menu;
    14. QMenu *window_menu;
    15. QMenu *help_menu;
    16. };
    17. Sample_Main_Window::Sample_Main_Window(QWidget *parent) : QMainWindow(parent) {
    18. menu_bar = new QMenuBar(this);
    19. file_menu = new QMenu("File", this);
    20. edit_menu = new QMenu("Edit", this);
    21. view_menu = new QMenu("View", this);
    22. object_menu = new QMenu("Object", this);
    23. plugins_menu = new QMenu("Plugins", this);
    24. tools_menu = new QMenu("Tools", this);
    25. javascript_menu = new QMenu("JavaScript", this);
    26. extras_menu = new QMenu("Extras", this);
    27. window_menu = new QMenu("Window", this);
    28. help_menu = new QMenu("Help", this);
    29. menu_bar->addMenu(file_menu);
    30. menu_bar->addMenu(edit_menu);
    31. menu_bar->addMenu(help_menu);
    32. menu_bar->addMenu(view_menu);
    33. menu_bar->addMenu(object_menu);
    34. menu_bar->addMenu(plugins_menu);
    35. menu_bar->addMenu(tools_menu);
    36. menu_bar->addMenu(javascript_menu);
    37. menu_bar->addMenu(extras_menu);
    38. menu_bar->addMenu(window_menu);
    39. menu_bar->addMenu(help_menu);
    40. }
    41. Sample_Main_Window::~Sample_Main_Window() {
    42. delete menu_bar;
    43. delete file_menu;
    44. delete edit_menu;
    45. delete view_menu;
    46. delete object_menu;
    47. delete plugins_menu;
    48. delete tools_menu;
    49. delete javascript_menu;
    50. delete extras_menu;
    51. delete window_menu;
    52. delete help_menu;
    53. }


    Nunja ich finde das hässlich und nicht wirklich effizient. Ich habe bei anderen Programmen mal vorbeigeschaut und diese Laden die Menüs immer aus XML-Dateien, was ich jedoch zu umständlich fände. Andere nutzen einfach den Designer (aka zusammenklicken). Könnte ich dies denn so belassen? Ich weiß nicht ob sich das in irgendeinerweise Performance mäßig auswirkt, aber es wäre nett wenn Ihr mir da mal aushelft.

    Grüße


    BTW: Statisch ist damit gemeint, dass die Menüpunkte bei dem Namen (etc.) bleiben und zur Laufzeit nicht verändert werden.
    Software being "Done" is like lawn being "Mowed". (Jim Benson)