叠加多个小部件
Overlay multiple widgets
我有一个包含多个滑块的QWidget。所有滑块的大小都调整为主 QWidget 大小。因此,所有滑块共享相同的绘制矩形。对于滑块,我重载了paintEvent
方法,因此它只绘制了所需内容。下面是一个示例代码:
class MySlider : public QSlider
{
void paintEvent(QPaintEvent *event) {
...
}
}
class MyWidget : public QWidget
{
MyWidget() : QWidget() {
slider1 = new MySlider(this);
slider2 = new MySlider(this);
slider1->resize(rect().width(), rect().height());
slider2->resize(rect().width(), rect().height());
}
MySlider * slider1;
MySlider * slider2;
}
ADSF
在这个解决方案中看不到Groove(因为我们不称QSlider::p aintEvent),但它仍然存在。对于此小部件,只能使用上次创建的滑块(slider2
)。其余的可见,但不可用。
相互叠加,并且仍然能够使用鼠标事件访问所有这些小部件?
重叠的小部件不是一个好主意,预计只有一个同时可见。这种重叠的目的是什么?
您可以将QWidget::setAttribute(Qt::WA_TransparentForMouseEvents)
设置为不为该特定小部件生成任何鼠标事件,以便只有一个滑块获取该事件。然后,您可以将该消息重定向到其他滑块。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 最小硬币更换问题(自上而下方法)
- Qt VTK交互风格的信号到小部件
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 使用递归的数组的最小值.这是怎么回事
- 为什么在浮点中从大到小会引入更多的误差
- 找到两对数字,使它们的乘积的绝对差最小化
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 最大和最小 1 C++函数
- 如何创建一个函数来计算并返回平均值、最大值和最小值
- 我可以做些什么来消除或最小化这种将提供相同功能和行为的代码重复
- 如何将部分流作为参数传递
- 如何在QT中的自定义视频小工具t上绘制矩形
- 在二维数组中查找最小值和最大值?
- 查找矩阵C++中每一列和每一行的最小和最大元素
- 如何找到大于整数的最小数字
- 小字符串优化(调试与发布模式)
- 叠加多个小部件
- C++ 创建小部件数组