这是我的代码:
mLayout = new QVBoxLayout;
mChart = new OpenChart(this);
setCentralWidget(mChart);
mLayout->addWidget(mChart);
mLayout->setMargin(0);
setLayout(mLayout);
QMap<QString,double> empleados;
empleados["Ana"]=5000.0;
empleados["Juan"]=6000.0;
empleados["Luis"]=7000.0;
empleados["Jorge"]=8000.0;
empleados["Francisco"]=100.0;
empleados["Mario"]=10000.0;
mChart->setTitle("sueldos");
mChart->setTipo(OpenChart::Sectores_2D);
mChart->setTipoleyenda(OpenChart::Circular);
const auto empleadosEnd=empleados.end();
for(auto i=empleados.begin();i!=empleadosEnd;++i)
{mChart->addItem(i.key(),i.value());}
输出:
我想让小部件显示在主窗口的整个窗口上!请帮帮我!!!!!
答案 0 :(得分:1)
使用父级作为主窗口创建QWidget
。
将图表小部件添加到您的vboxlayout。
将vBoxLayout设置为在第一步中创建的虚拟窗口小部件。
然后将虚拟小部件指定为中央小部件。
下面的粗略代码:
mLayout = new QVBoxLayout;
QWidget *vBox = new QWidget(this);
mChart = new OpenChart(this);
mLayout->addWidget(mChart);
vBox->setLayout(mLayout);
setCentralWidget(vBox);
请勿再次致电setLayout
,因为布局已设置为QWidget
(vbox)。