Я новичок в Qt и столкнулся с проблемой, для которой не нашел решения.
Итак, моя проблема заключается в следующем:
Я пытаюсь сгенерировать QtLabel
внутри класса и отображать его в моем mainWindow
.
class Hexagon
{
public:
QPolygon polygon;
QLabel *cellText = new QLabel(this);
Hexagon(int startX, int startY, int length, int row, int cell, char letters[26])
{
polygon <<
QPoint(startX, startY)
<<
QPoint(startX+length*qCos(qDegreesToRadians(30.0)), startY-length*qSin(qDegreesToRadians(30.0)))
<<
QPoint(startX+2*length*qCos(qDegreesToRadians(30.0)), startY)
<<
QPoint(startX+2*length*qCos(qDegreesToRadians(30.0)), startY+length)
<<
QPoint(startX+length*qCos(qDegreesToRadians(30.0)), startY+length+length*qSin(qDegreesToRadians(30.0)))
<<
QPoint(startX, startY+length);
cellText->setText(QString(QChar(letters[row])) + QString(QChar(letters[cell])));
cellText->setGeometry(startX + 35, startY + 10, 40, 20);
cellText->show();
}
};
Итак, есть мой класс Hexagon, который создает многоугольник в форме шестиугольника, который можно нарисовать позже. Теперь я пытаюсь добавить QtLabel для каждой ячейки (шестиугольника), которая у меня есть.
Но я сталкиваюсь с ошибкой:
виджет. cpp: 28: Fehler: нет соответствия конструктор для инициализации 'QLabel'
Как я могу исправить эту ошибку и сгенерировать свой Label внутри моего класса и расширить с ним mainWindow?