Это for
петля позиционирования кода и дает размеры до 22 кнопок:сделать изменения в течение кнопки отправить QSignalMapper в Qt
for(int i=0; i<texts.size(); ++i)
{
QPushButton* button = new QPushButton(texts[i]);
connect(button, SIGNAL(clicked(bool)),
signalMapper, SLOT(map()));
button -> setFixedSize(50,30);
signalMapper -> setMapping(button, texts[i]);
gridLayout -> addWidget(button, i/5, i%5);
}
Изображение выхода в следующем виде:
Я хочу, чтобы манипулировать size
, position
, color
и font
каждой кнопки "вручную". Думаю, мне нужно как-то вернуть кнопки от signalMapper
, чтобы я мог выполнять эти работы над ними. Вы согласны?
Что такое самый простой и прямой способ сделать эти работы, пожалуйста?
PS: Я написал приложение только в C++ кода и не использовать Designer.
почему вы не [ 'setStyleSheet()'] (https://doc.qt.io/qt-5/qwidget.html#styleSheet-prop)/['setPalette()'] (https://doc.qt.io/qt-5/qwidget.html#palette-prop) на кнопке, прежде чем добавлять его в макет? Возможно, есть еще один массив для стилей/палитр и использовать его в вашем цикле вместе с массивом 'text'. – Mike