{
// class_ameneded 不能是custommenu的成员, 因为winidchange事件触发时, 类成员尚未初始化
static bool class_amended = false
if (event->type() == QEvent::WinIdChange)
{
HWND hwnd = reinterpret_cast<HWND>(winId())
if (class_amended == false)
{
class_amended = true
DWORD class_style = ::GetClassLong(hwnd, GCL_STYLE)
class_style &= ~CS_DROPSHADOW
::SetClassLong(hwnd, GCL_STYLE, class_style)// windows系统函数
}
}
return QWidget::event(event)
}
QSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制。QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多,体现在选择器要少,可以使用的QSS属性也要少很多,并且并不是所有的属性都可以用在Qt的所有控件上。
基本和CSS相同,只是有的属性QSS中没有,相当于CSS的子集。
另外上面所有的这些选择器可以联合使用,并且支持一次设置多个选择器类型,用逗号隔开,同CSS一样。
QSS为很多复杂的复合控件提供了子控件的定义,以方便对这些复合控件的各个部分进行样式设置,具体使用下面说明。
QSS的伪状态选择器实际上与CSS中的类似,是以冒号开头的一个选择表达式,他限制了当控件在某一种状态下的时候才能应用QSS规则,伪状态只能描述一个控件的状态,或者是一个复合控件中的子控件的状态。下面列出常用的伪状态:
持续更新ing...