Signals
Examples
Custom QTreeWidgetItem例
- ファイルパスを設定
- ボタンを設定
- ボタンを押したらファイルパスのスクリプトを実行
- Python3から execfile()が無いので、自前で同じような関数を実装。
 
from PySide2 import QtCore, QtGui, QtWidgets
class TyScriptCustomTreeItem(QtWidgets.QTreeWidgetItem):
    def __init__( self, name: str, path: str, parent=None: QtWidgets.QTreeWidget):
        super().__init__( parent )
        # Column 0 - Button:
        self.button = QtWidgets.QPushButton()
        self.button.setText(name)
        # 親のスタイルシートを取得する方がいいかもしれません。
        # うろ覚えですが、self.treeWidget().styleSheet()みたいなので親のスタイルシート取得
        self.button.setStyleSheet("text-align: left;color: black;")
        self.treeWidget().setItemWidget( self, 0, self.button )
        # Filepath
        self.file = path
        # Signals
        self.treeWidget().connect( self.button, QtCore.SIGNAL("clicked()"), self.buttonPressed )
    @property
    def name(self):
        return self.button.text()
    @property
    def value(self):
        return self.spinBox.value()
    def buttonPressed(self):
        self.app.exec_script(self.file)
Signals
Examples
Custom QTreeWidgetItem例
- ファイルパスを設定
- ボタンを設定
- ボタンを押したらファイルパスのスクリプトを実行
- Python3から execfile()が無いので、自前で同じような関数を実装。
 
from PySide2import QtCore, QtGui, QtWidgets
classTyScriptCustomTreeItem(QtWidgets.QTreeWidgetItem):
def__init__( self, name: str, path: str, parent=None: QtWidgets.QTreeWidget):
        super().__init__( parent )
# Column 0 - Button:
        self.button = QtWidgets.QPushButton()
        self.button.setText(name)
# 親のスタイルシートを取得する方がいいかもしれません。# うろ覚えですが、self.treeWidget().styleSheet()みたいなので親のスタイルシート取得
        self.button.setStyleSheet("text-align: left;color: black;")
        self.treeWidget().setItemWidget( self, 0, self.button )
# Filepath
        self.file = path
# Signals
        self.treeWidget().connect( self.button, QtCore.SIGNAL("clicked()"), self.buttonPressed )
    @propertydefname(self):
return self.button.text()
    @propertydefvalue(self):
return self.spinBox.value()
defbuttonPressed(self):
        self.app.exec_script(self.file)
Background Color
OK, I get how to do it
QList<QTreeWidgetItem*> ch;
ch = ui->TaskList->selectedItems();
foreach(QTreeWidgetItem * ch_item, ch)
ch_item->setBackground(0, Qt::green);
if color:
	  q_color = QtGui.QColor(*color)
	  self.setBackground(1, q_color)
	
	  if status == 'omt':
	      self.setBackground(0, q_color)
	      self.setBackground(2, q_color)
	
	      fg_color = QtGui.QColor(100, 100, 100)
	      self.setForeground(0, fg_color)
	      self.setForeground(2, fg_color)
変更可能に:
self.setFlags(self.flags() | QtCore.Qt.ItemIsEditable)