У меня есть две кнопки: ZeroButton и oneButton. Я создаю их список и хочу, чтобы при нажатии одной из кнопок отображался «щелчок» на метке. Я пытаюсь проверить, нажат ли один из них с помощью contains(), и, мб, в этом нет необходимости (без него это тоже не работает), но я добавляю qobject в qpushbutton с помощью qobject_cast(sender())
Я пробовал это:
QList *buttons = new QList();
buttons->append(ui->zeroButton);
buttons->append(ui->oneButton);
if(buttons->contains(qobject_cast(sender()))))
{
ui->labelAnswer->setText("click");
}
но это не работает.
Я ожидаю, что labelAnswer будет изменен при «нажатии»
главного окна. ч:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp:
#include "mainwindow.h"
#include "./ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QList *buttons = new QList();
buttons->append(ui->zeroButton);
buttons->append(ui->oneButton);
if(buttons->contains(sender()))
{
//QObject *object = new QObject(sender());
ui->labelAnswer->setText("click");
//delete object;
//object = nullptr;
}
}
MainWindow::~MainWindow()
{
delete ui;
}
main.cpp:
#include "mainwindow.h"
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
mainwindow.ui:
MainWindow
true
0
0
180
272
0
0
180
272
180
272
MainWindow
20
10
141
41
true
cum
Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
120
170
41
41
C
buttonGroup
true
20
50
41
41
1
buttonGroup
70
50
41
41
2
buttonGroup
120
50
41
41
3
buttonGroup
70
170
41
41
+
buttonGroup
20
90
41
41
4
buttonGroup
70
90
41
41
5
buttonGroup
121
90
41
41
6
buttonGroup
20
130
41
41
7
buttonGroup
70
130
41
41
8
buttonGroup
120
130
41
41
9
buttonGroup
20
170
41
41
0
buttonGroup
0
0
180
24
Подробнее здесь: https://stackoverflow.com/questions/790 ... cked-in-qt