添加PushButton类型的QStandardItem

时间:2013-09-04 15:01:09

标签: c++ qt

我正在尝试向QStandardItemModel添加项目,所有这些项目都是QStandardItem类型。我想知道是否有办法将QPushButton附加到模型中。 换句话说,它们是QStandardItem的任何属性,我可以改变它以使其显示为按钮

1 个答案:

答案 0 :(得分:-1)

使用样式表是最好的选择。这是一个示例,我将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;
}