- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
重写 paintEvent 的意义何在:
void QWidgetDerivedWhatchamit::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}
这肯定是 QWidget 已经在做的事情了吧?
最佳答案
有人想要编写这段代码的主要原因有两个。
1) 他们想在小部件的背景中画画/写东西或使用图像。在这种情况下,他们必须实现 paintEvent 方法。
2) 他们想利用 Qt 样式表,例如在小部件上设置透明背景。样式表与 QLabel 或 QPushButton 等内置类配合使用效果很好。但是,如果有人创建了她自己的派生自 QWidget 的类,则样式表将不起作用,除非您重新实现 paintEvent 并准确地编写您提到的那些行。
关于c++ - 为什么有人会为了 drawPrimitive 而覆盖 paintEvent()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4514772/
我想画单张脸而不是 xna 模型,因为它太慢了。 但是不知道有什么区别 绘制基元 DrawUserPrimitives DrawIndexedPrimitives DrawUserIndexedPri
我想画单张脸而不是 xna 模型,因为它太慢了。 但是不知道有什么区别 绘制基元 DrawUserPrimitives DrawIndexedPrimitives DrawUserIndexedPri
我正在尝试使用 Direct3D 中的 DrawPrimitive 函数绘制一条线。 我可以用函数画透明线吗?如果可以,如何设计? 最佳答案 我不是 DirectX 专家,但我认为透明度与 DrawP
重写 paintEvent 的意义何在: void QWidgetDerivedWhatchamit::paintEvent(QPaintEvent *) { QStyleOption opt
我是一名优秀的程序员,十分优秀!