Sprawdzanie w slocie stanu zaznaczenia pozycji menu

0

Witam. Stworzyłem projekt okna programu w Qt Design i w menuBar utworzyłem element "Zawijanie_tekstu", który można zaznaczać (checkable). Jak w slocie sprawdzić czy "Zawijanie_tekstu" w menuBar jest znaczone?

void MainWindow::on_actionZawijanie_tekstu_triggered()
{
    if(???)
    {
        ui->tresc->setWordWrapMode(QTextOption::NoWrap);
    }
    else
    {
        ui->tresc->setWordWrapMode(QTextOption::WordWrap);
    }
}

Co muszę zamieścić w if() bądź jak inaczej rozwiązać ten problem?

0

Potrzebujesz spiąć sobie zmianę checkbox z odpowiednią funkcja.
Poczytaj o sygnałachi slotach a także o QAction
http://doc.qt.io/qt-5/signalsandslots.html
http://doc.qt.io/archives/qt-4.8/qaction.html#details
https://stackoverflow.com/questions/23429663/qt-mutually-exclusive-checkable-menu-items

0

Dzięki za odpowiedz, tylko że bez przykładu sobie nie poradzę. Nie wiem jak się dostać do właściwości elementów stworzonych w Qt Design.

0

Udało się uzyskać zamierzony efekt. Poniżej wklejam kod:

void MainWindow::on_actionZawijanie_tekstu_triggered()
{
    if(ui->actionZawijanie_tekstu->isChecked())
    {
        ui->tresc->setWordWrapMode(QTextOption::WordWrap);
    }
    else
    { 
        ui->tresc->setWordWrapMode(QTextOption::NoWrap);
    }
}
0

przecież jest odpowiedni sygnał do tego:
https://doc.qt.io/archives/qt-4.8/qaction.html#checked-prop

1 użytkowników online, w tym zalogowanych: 0, gości: 1