私は pyqt が初めてで、まだいくつかの初心者の問題に直面しています:D
QChoice コントロールで委任された項目である QTableWidget があります (私が正しく言ったことを願っています) ユーザーが変更されるたびにセルの背景色を変更する必要があります選択コントロールの選択
について簡単に説明します: テーブル ウィジェットでセルの背景色を変更するには??
私はpyqt4とpython 2.6
を事前に使用しています
17101 次
6 に答える
8
私はこのようなものを使用しました:
brush = QtGui.QBrush(QtGui.QColor(255, 0, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
item.setBackground(brush)
item は QTableWidgetItem オブジェクトです
于 2012-04-21T16:56:24.900 に答える
4
使用する
QTableWidgetItem QTableWidget.item(row, column)
と
QTableWidgetItem setData(role, data)
と
Qt.BackgroundRole
次のように:
table.item(0, 0).setData(Qt.BackgroundRole, color).
また、Qt Model/View で使用される Roles メカニズムについてもお読みください。
于 2010-05-18T09:31:12.653 に答える
2
QTableView を使用する場合は、これを使用します。
model.setData(model.index(0, 0), QVariant(QBrush(Qt::red)), Qt::BackgroundRole);
于 2013-08-29T06:47:56.753 に答える
1
便利なコード行を次に示します。冗長で申し訳ありませんが、評判を得ようとしています。
QStandardItemModel* model = new QStandardItemModel(numRows, numColumns);
QStringList headers;
headers.append("Date");
model->setHorizontalHeaderLabels(headers);
QStandardItem* item = new QStandardItem(text);
item->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
item->setData(QVariant(QBrush(Qt::green)), Qt::BackgroundRole);
model->setItem(row, column, item);
または単に:
item->setBackground(Qt::green);
于 2015-02-16T04:24:28.693 に答える
0
テーブル ウィジェットのデリゲート メソッドを設定しました。デリゲートのペイント イベントで、色を変更する手法を処理します。この例を見てください。ここでは、カスタムの選択色を実行しています。アイテムセルのペイントを処理するのと同じ方法
于 2010-05-11T04:54:18.193 に答える
0
C++ の補足として、Qt::red などとは異なり、カスタム カラーをペイントする場合は、次のようにすることができます。
ui->tableWidget->item(i, j)->setBackground(QColor(152,234,112));
于 2021-06-03T02:23:29.203 に答える