求教,如何在QWidget中控制QChartView的大小?

像素Carlos 2019-04-19 05:12:55
仿照书上的案例写东西,但是书上用的是MainWindow,我需要QWidget。
可是MainWindow里可以setCentralWidget。但是QWidget里面没有找到类似的函数。
书上的代码(节选):



QChartView *chartView=new QChartView(this); //创建 ChartView
QChart *chart = new QChart(); //创建 Chart
chartView->setChart(chart); //Chart添加到ChartView
this->setCentralWidget(chartView);//QWidget里面没有找到类似的函数。


导致我的QChartView缩在左上角,严重显示不全。


书上的代码的效果:
...全文
6280 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyu_1999 2022-04-10
  • 打赏
  • 举报
回复

qchart->resize(600,400);

ConsiseRabbit 2020-04-01
  • 打赏
  • 举报
回复 1
显示不全的原因是因为你用代码new出来的QChartView没有在界面中进行栅格化。 可用考虑先在界面拖出来一个Widget,然后将其栅格化,再将它提升为QChartView,然后调用它的setChart函数,把你创造的QChart放进去,应该可以解决这个问题
wind132516 2021-09-27
  • 举报
回复
@ConsiseRabbit 这种设置出来,会出现有一个无法覆盖的小方框在边上估摸是原charts对象遗留的。不知道怎么解决。5.6.1版本
Cacar 2019-12-23
  • 打赏
  • 举报
回复 2
获得ChartView的尺寸,并设置为chart尺寸:
// 调整尺寸
	int w = this->width();
	int h = this->height();
	this->chart()->setGeometry(0, 0, w, h);
dinjay 2019-10-14
  • 打赏
  • 举报
回复 1
chartView设置sizepolicy
NevBeBac 2019-09-25
  • 打赏
  • 举报
回复 1
chartView->resize(width,height);
  • 打赏
  • 举报
回复 3
Qt文档写到:
setCentralWidget
将给定的小部件设置为主窗口的中心小部件。注意:QMainWindow获取小部件指针的所有权,并在适当的时候删除它。

QWidget要么在sizechange时 对chartview resize,要么QHBoxLayout *hb = new QHBoxLayout(this);
hb->addWidget(chartView);
像素Carlos 2019-04-25
  • 打赏
  • 举报
回复 2
捞一下
像素Carlos 2019-04-20
  • 打赏
  • 举报
回复

16,817

社区成员

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

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