Показать результат Выбора цвета в QT?

Вы можете попробовать создать новый массив colDef и передать его в параметры сетки.
Примерно так -

function updateColDef()
{ 
    let newColDef= [];
    this.gridColumns.forEach(function(colDef) {
                colDef['menuTabs'] = ["generalMenuTab",columnsMenuTab"];
                newColDef.push(colDef);
            });    
  this.gridApi.api.setColumnDefs(newColDef);
  this.gridApi.refreshHeader();
}

Аналогичная проблема , с которой столкнулся другой пользователь сетки ag

6
задан troyane 6 March 2013 в 12:25
поделиться

2 ответа

Путем я делаю, это следующее:

Я на самом деле изменяю цвет кнопки, для отражения пользовательского выбора. Чтобы сделать это, я использую спокойную таблицу стилей, которые гарантируют, что это портативно:

const QString COLOR_STYLE("QPushButton { background-color : %1; color : %2; }");

QColor ChosenColor; // Color chosen by the user with QColorDialog
QColor IdealTextColor = getIdealTextColor(ChosenColor);
btnChooseColor->setStyleSheet(COLOR_STYLE.arg(ChosenColor.name()).arg(IdealTextColor.name()));

Для проверки маркировка кнопки всегда читаема, я называю метод getIdealTextColor (), который является методом, который я нашел от codeproject статьи:

//==============================================================================
//  Nom : getIdealTextColor
//! @return an ideal label color, based on the given background color.
//! Based on http://www.codeproject.com/cs/media/IdealTextColor.asp
//==============================================================================
QColor JSPreferencesDlg::getIdealTextColor(const QColor& rBackgroundColor) const
{
    const int THRESHOLD = 105;
    int BackgroundDelta = (rBackgroundColor.red() * 0.299) + (rBackgroundColor.green() * 0.587) + (rBackgroundColor.blue() * 0.114);
    return QColor((255- BackgroundDelta < THRESHOLD) ? Qt::black : Qt::white);
}
9
ответ дан 8 December 2019 в 13:50
поделиться

Метод, который Вы используете, является громоздким, но что заставляет Вас думать, что это не портативно? Это должно работать где угодно, QT делает.

Помимо этого, я попытался бы сделать заполненную цветом кнопку так или иначе, подобной ответу Jérôme, только я, вероятно, сделаю специальную кнопку, чтобы сделать это, и путаница с палитрой так или иначе.

0
ответ дан 8 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: