Mam pytanie które jest dość ogólne.
Czy QAction jest tym samym co przycisk QPushButon ? Jaka jest różnica między nimi ? Czy QAction dziedziczy jakieś elementy po QPushButton ?
Bo w sumie w widgecie wygląda on jak przycisk
Mam pytanie które jest dość ogólne.
Czy QAction jest tym samym co przycisk QPushButon ? Jaka jest różnica między nimi ? Czy QAction dziedziczy jakieś elementy po QPushButton ?
Bo w sumie w widgecie wygląda on jak przycisk
Wystarczy czytać oryginalną dokumencję. https://doc.qt.io/qt-5/qaction.html
QAction to klasa która dostarcza abstrakcyjne pojęcie akcji do wykonania, wykorzystywanej przez różne widgety, a która nie ma swojej własnej reprezentacji graficznej.
Przeklejam przykład prosto z dokumentacji:
const QIcon openIcon = QIcon::fromTheme("document-open", QIcon(":/images/open.png"));
QAction *openAct = new QAction(openIcon, tr("&Open..."), this);
openAct->setShortcuts(QKeySequence::Open);
openAct->setStatusTip(tr("Open an existing file"));
connect(openAct, &QAction::triggered, this, &MainWindow::open);
fileMenu->addAction(openAct);
fileToolBar->addAction(openAct);
czyli mam rozumieć, że to taka "imitacja" przycisku
NIE! To jest opis właściwości jakiejś czynności. Opis ten może zawierać kilka właściwości akcji użytkownika:
Teraz takie jedno QAction
można przyczepić do wielu menu/przycisku itp i zmiany stany w QAction
będą automatycznie odwzorowane we wszystkich podpiętych elementach UI.