添加PushButton类型的QStandardItem

add a QStandardItem of type PushButton

本文关键字:QStandardItem 类型 PushButton 添加      更新时间:2023-10-16

我正试图将项添加到QStandardItemModel中,所有这些项都属于QStandardItem类型。我想知道是否有一种方法可以将QPushButton附加到模型上。换句话说,它们是QStandardItem的任何属性吗?我可以更改这些属性,使其显示为按钮

使用样式表是最好的选择。下面是一个示例,我将QListWidget中的项目设置为类似选项卡的样式。稍微按摩一下就能让它看起来像纽扣。

/* make the property editor list look like tabs */
QListWidget#PropertyEditor_List 
{ 
  background-color: Transparent; 
  padding-right: 0px; 
  padding-top: 2px; 
  padding-left: 2px; 
}
QListWidget#PropertyEditor_List::item 
{
  padding: 3px; 
  margin-left: 3px;
  background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 white, stop:1 Transparent); 
  border-left: 1px solid rgb(145,155,155); 
  border-top: 1px solid rgb(145,155,155);
  border-bottom: 1px solid rgb(145,155,155);
  border-right: 0px;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
QListWidget#PropertyEditor_List::item:hover, QListWidget#PropertyEditor_List::item:selected 
{ 
  background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 rgb(255,200,60), stop:0.039 rgb(255,200,60), stop:0.04 white, stop:0.4 white, stop:1 Transparent); 
  border-left-color: rgb(230,139,44);
}
QListWidget#PropertyEditor_List::item:selected 
{ 
  margin-left: 0px;
  background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 rgb(255,200,60), stop:0.039 rgb(255,200,60), stop:0.04 white);
  border-left-color: rgb(230,139,44);
  color: black;
}