QT 怎样在控件上画图

lhb807949392 2012-03-03 01:31:45
我想在一个Widget中的tabwidget中画图,该怎么办
QPainter painter(this);这里面的this应该怎么改?

又或者如果不能在控件上画的话,怎样使画出来的图形处于其他控件的上层而不至于被覆盖掉
...全文
1596 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yediguhong 2013-06-02
  • 打赏
  • 举报
回复
楼主是怎么解决的啊 求教
fightingalways 2013-05-21
  • 打赏
  • 举报
回复
如果在tab上画的是动态图,需要不断刷新的话,怎么整?
禾火山 2013-02-18
  • 打赏
  • 举报
回复
你是怎么解决的啊?我现在也在做一个和你说的类似的东西。在寻求方法!求解!
JaydenZhou 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
我的资源里有个例子,不用继承QTabWidget就能画图。
[/Quote]
感谢提供源代码~ 很有受教~
ysj427 2012-03-03
  • 打赏
  • 举报
回复
tabWidget->addTab(new paint(Qt::green), "TabGreen");就是加入标签页的方法:第一个参数是要加入的widget,第二个参数是它在tabWidget上的名称。
lhb807949392 2012-03-03
  • 打赏
  • 举报
回复
解决了 谢谢各位
jdwx 2012-03-03
  • 打赏
  • 举报
回复
我的资源里有个例子,不用继承QTabWidget就能画图。
jdwx 2012-03-03
  • 打赏
  • 举报
回复
怎样使画出来的图形处于其他控件的上层而不至于被覆盖掉?
这个是不可能做到的。
lhb807949392 2012-03-03
  • 打赏
  • 举报
回复
@ysj427

我是在ubuntu下同Qt creator,只建了一个基于Widget的项目,具体应该在哪里改啊?
初学Qt,看不出来代码中哪里表示你所说的“把它加在tabWidget”
解决了100分都给你啊
ysj427 2012-03-03
  • 打赏
  • 举报
回复
前两个问题:先把图绘在一个Widget里,然后把它加在tabWidget里就行。
后一个问题我也坐等答案。
参考代码(WIN7、VS2008运行通过):
#include <QApplication>
#include <QWidget>
#include <QPainter>
#include <QTabWidget>

class paint : public QWidget
{
public:
paint(QColor c);

protected:
void paintEvent(QPaintEvent *event);

private:
QColor color;

};

paint::paint(QColor c)
{
color = c;
}

void paint::paintEvent(QPaintEvent *event)
{

QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(QPen(Qt::black, 12, Qt::DashDotLine, Qt::RoundCap));
painter.setBrush(QBrush(color, Qt::SolidPattern));
painter.drawEllipse(50, 40, 400, 300);
}

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QTabWidget *tabWidget = new QTabWidget;
tabWidget->addTab(new paint(Qt::green), "TabGreen");
tabWidget->addTab(new paint(Qt::red), "TabRed");
tabWidget->addTab(new paint(Qt::blue), "TabBlue");
tabWidget->resize(500, 400);
tabWidget->show();

return a.exec();
}
lhb807949392 2012-03-03
  • 打赏
  • 举报
回复
在哪里重写tabWidget的paintEvent函数,它又不是个类
wk5882846 2012-03-03
  • 打赏
  • 举报
回复
可以重写tabWidget的paintEvent函数,在里面用painter.
你也可以看下tabwidget有没有addpixmap这样的函数,可以把图片显示出来

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧