我在QTreeView的行中有一些QPushButtons,它们会出现这些黑色边框,我似乎无法修改它们。目前,我可以使用以下代码将按钮变灰:
for (int i = 0; i < QPalette::NColorRoles; i++){
QPalette::ColorRole thisRole = static_cast<QPalette::ColorRole>(i);
QColor newColor = commitPalette.color(QPalette::Disabled,thisRole);
int grayColor = qGray(newColor.rgb());
newColor.setRgb(grayColor,grayColor,grayColor,50);
commitPalette.setColor(QPalette::Disabled, thisRole, newColor);
}
但它对边界没有任何作用。我更喜欢避免使用样式表,因为我喜欢QPalette的构造函数提供的自动颜色生成
答案 0 :(得分:13)
如果您正在使用Qt创建者,请右键单击QPushButton并将setStyleSheet设置为border: none;
。
答案 1 :(得分:5)
如果您设置QButton属性isFlat = true,则应禁用边框,除非单击该边框。