21

すべてのQt チャートには余白があり、角が丸くなっているようです。

赤い縁取りの画像例

両方を削除するには?

ダイアログ全体を白い領域で埋めたいと思います。Qt のドキュメントに情報が見つかりません。この間隔がない1 つの例のスクリーンショットを見つけました。しかし、それを無効にするコードが見つかりません。

私の初期化コードは次のようになります。

QPieSeries *series = new QPieSeries();
series->append("Jane", 1);
series->append("Joe", 2);
series->append("Andy", 3);
series->append("Barbara", 4);
series->append("Axel", 5);

QChart *chart = new QChart();
chart->addSeries(series);

QChartView *chartView = new QChartView(chart);
chartView->setBackgroundBrush(Qt::red);
chartView->setRenderHint(QPainter::Antialiasing);

QMainWindow window;
window.setCentralWidget(chartView);
window.resize(400, 300);
window.show();
4

2 に答える 2

31

Devopiaがコメントで質問に答えました!

上記の例では、赤い部分を完全に削除するには、次の 2 行のコードが必要でした。

chart->layout()->setContentsMargins(0, 0, 0, 0);
chart->setBackgroundRoundness(0);
于 2016-08-31T07:26:14.160 に答える
2

layout()Qt 5.11 では、メソッドconst( から継承QGraphicsWidget) が次の理由で機能しません。

QGraphicsLayout *QGraphicsWidget::layout() const

さらに、これQGraphicsLayoutは基本クラスであるため、コピーを取得することはできません。

私にとってこれはうまくいきます:

chart->setMargins(QMargins(0,0,0,0));
于 2018-07-11T16:04:57.080 に答える