Signals

Examples

Custom QTreeWidgetItem例

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例

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)