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)