teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

補足

2020/11/03 09:41

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -1,3 +1,5 @@
1
+ setBackground には QColor を指定します。
2
+
1
3
  ```
2
4
  from PyQt5.QtCore import Qt
3
5
 
@@ -8,6 +10,8 @@
8
10
  "color: red;" はスタイルシートで設定する場合の表記で、
9
11
  item ではなく、widget に設定します。 [Stylesheet Example](https://doc.qt.io/qt-5/stylesheet-examples.html)
10
12
 
13
+ 宣言的な記述になるので、
14
+ 動的に&個別に色を変えたい場合には適してませんが、スタイルシートの利用例
11
15
  ```python
12
16
  import sys
13
17
  from PyQt5.QtCore import Qt

2

追記: QListWidget の選択時の色変更 (スタイルシート利用)

2020/11/03 09:41

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -7,8 +7,27 @@
7
7
 
8
8
  "color: red;" はスタイルシートで設定する場合の表記で、
9
9
  item ではなく、widget に設定します。 [Stylesheet Example](https://doc.qt.io/qt-5/stylesheet-examples.html)
10
- ~~ ``※ スタイルに関しては QTableView と同じ。~~
11
10
 
11
+ ```python
12
+ import sys
13
+ from PyQt5.QtCore import Qt
14
+ from PyQt5.QtWidgets import QApplication, QListWidget
12
15
 
16
+ if __name__ == '__main__':
17
+ app = QApplication(sys.argv)
18
+ app.setStyleSheet("""
19
+ QListWidget::item:selected {
20
+ background-color: red;
21
+ }
22
+ """)
23
+ win = QListWidget()
24
+ for item in ["A", "B", "C"]:
25
+ win.addItem(item)
26
+ win.show()
27
+
28
+ app.exec_()
29
+ ```
30
+
31
+
13
32
  尚、これが原因で落ちることは有りません。
14
33
  該当箇所 `.setBackground('color;red')` では TypeError になるはずです。

1

table ではなかったので訂正

2020/11/03 09:34

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -6,13 +6,9 @@
6
6
  ```
7
7
 
8
8
  "color: red;" はスタイルシートで設定する場合の表記で、
9
- item ではなく、widget に設定します。 [Stylesheet Example](https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview)
9
+ item ではなく、widget に設定します。 [Stylesheet Example](https://doc.qt.io/qt-5/stylesheet-examples.html)
10
- ※ スタイルに関しては QTableView と同じ。
10
+ ~~ ``※ スタイルに関しては QTableView と同じ。~~
11
11
 
12
- ```
13
- self.tableWidget.setStyleSheet("selection-background-color: red;")
14
- ```
15
12
 
16
-
17
13
  尚、これが原因で落ちることは有りません。
18
14
  該当箇所 `.setBackground('color;red')` では TypeError になるはずです。