C++ 如何在Qt5中的小部件上画一条线

C++ 如何在Qt5中的小部件上画一条线,c++,qt,qt5,qpainter,paintevent,C++,Qt,Qt5,Qpainter,Paintevent,我有一个主窗口,主窗口上有两个以上的小部件。我想在整个主窗口上画线,线什么时候应该在小部件上,而不是在这些小部件后面。我尝试过覆盖mainwindow的paintevent函数并直接画一条线,但这条线在小部件后面。 我该怎么办?您需要一个覆盖小部件,即覆盖主小部件区域但位于其上方的小部件。然后在覆盖小部件中实现paintEvent()。有关更多详细信息,请参阅。您也需要在小部件上绘制(继续)线条。@vahancho但我的小部件的paintevent函数已被使用,我如何在小部件上绘制线条?方法相同

我有一个主窗口,主窗口上有两个以上的小部件。我想在整个主窗口上画线,线什么时候应该在小部件上,而不是在这些小部件后面。我尝试过覆盖mainwindow的paintevent函数并直接画一条线,但这条线在小部件后面。
我该怎么办?

您需要一个覆盖小部件,即覆盖主小部件区域但位于其上方的小部件。然后在覆盖小部件中实现
paintEvent()
。有关更多详细信息,请参阅。

您也需要在小部件上绘制(继续)线条。@vahancho但我的小部件的paintevent函数已被使用,我如何在小部件上绘制线条?方法相同:覆盖每个小部件的绘制事件。您说过,您只覆盖了主窗口的绘制事件功能。好吧,如果我覆盖了一些小部件的绘制事件功能,我能做什么?我不完全理解您的需求,但使用Qt Graphics View framework制作带有直线或多边形、路径、圆等的GUI非常容易!你有没有一张符合你需要的图片?