Отрывные меню


Qt предоставляет возможность реализации отрывных меню (tear-off menu). Нажатие мышью на прерывистую линию приводит к тому, что всплывающее меню отделяется от меню верхнего уровня, превращаясь в отдельное окно, которое свободно перемещается. Такое меню очень удобно, например, для настройки конфигураций программы.

#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);

    QMenuBar pmnuBar;
    QMenu*   pmnu    = new QMenu("&Menu");

    pmnu->setTearOffEnabled(true);

    pmnu->addAction("Item&1");
    pmnu->addAction("Item&2");
    pmnu->addAction("Item&3");
    pmnu->addAction("&Exit", &app, SLOT(quit()));

    pmnuBar.addMenu(pmnu);
    pmnuBar.show();

    return app.exec();
}
Создание отрывного меню в Qt

Чтобы задать отрывное меню, сначала необходимо вызвать из виджета меню pmnu метод setTearOffEnabiedo, передав ему значение true — это отобразит линию отрыва на верхнем бордюре всплывающего меню.

Читать далее: Контекстные меню