为什么我不能在QLineEdit对象中使用StyleSheet?

时间:2016-10-06 11:08:19

标签: qt

我有一个继承DragQLineEdit

的课程QLineEdit

我已将数组定义为:

DragQLineEdit m_textEdits[FAVORITE_ROWS][FAVORITE_COLUMNS];

所以我能够生成编辑文本框的网格。 FINE。

但是当我想改变第一个编辑文本框的颜色时,就像这样:

m_textEdits[0][0].setStyleSheet("QLineEdit { background: rgb(255,255,255); selection-background-color:rgb(233,0,0); }");

它给了我编译器错误:没有名为StyleSheet的成员

在阅读this问题的接受答案后,我做了以上操作。

基本上,我有以下功能:

void Favorites::mySlot(int r,int c,int row,int col)
{
    m_sendButtons[r][c].setText(m_sendButtons[row][col].text());
    m_sendButtons[row][col].setText("Send");

    m_textEdits[r][c].setStyleSheet(m_textEdits[row][col].StyleSheet);
    m_textEdits[row][col].setStyleSheet("QLineEdit { background: rgb(255,255,255); selection-background-color:rgb(233,0,0); }");
}

1 个答案:

答案 0 :(得分:3)

你有......

m_textEdits[r][c].setStyleSheet(m_textEdits[row][col].StyleSheet);

应该是......

m_textEdits[r][c].setStyleSheet(m_textEdits[row][col].styleSheet());

注意小写的''在styleSheet中,styleSheet表示函数调用后的括号。