翻譯|行業資訊|編輯:鮑佳佳|2021-08-26 10:11:08.393|閱讀 378 次
概述:該示例顯示了如何創建水平條形圖。QHorizontalBarChart 將集合中的數據顯示為單獨的條形,這些條形按類別分組。QHorizontalBarChart 的工作方式與 QBarChart 類似,不同之處在于條形圖是在圖表上水平繪制的。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Qt是一個跨平臺框架,通常用作圖形工具包,它不僅創建CLI應用程序中非常有用。而且它也可以在三種主要的臺式機操作系統以及移動操作系統(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式設備,Android(Necessitas)和iOS的端口上運行?,F在我們為你提供了免費的試用版。
Qt組件推薦:
該示例顯示了如何創建水平條形圖。
QHorizontalBarChart 將集合中的數據顯示為單獨的條形,這些條形按類別分組。QHorizontalBarChart 的工作方式與 QBarChart 類似,不同之處在于條形圖是在圖表上水平繪制的。
要從Qt Creator運行示例,請打開歡迎模式并從示例中選擇示例。有關更多信息,請訪問構建和運行示例。
條形集在所有條形圖中的使用方式相同。為了說明各種條形圖之間的差異,我們在所有示例中使用相同的數據。條形圖可視化的數據由QBarSet實例定義。在這里,我們創建集合并將數據附加到它們。數據在此處附加 << 運算符?;蛘撸部梢允褂?append 方法。
QBarSet * set0 = new QBarSet ( "Jane" ); QBarSet * set1 = new QBarSet ( "John" ); QBarSet * set2 = new QBarSet ( "Axel" ); QBarSet * set3 = new QBarSet ( "Mary" ); QBarSet * set4 = new QBarSet ( "薩曼莎" ); * set0 < < 1 < < 2 < < 3 < < 4 < < 5 < < 6 ; * set1 < < 5 < < 0 < < 0 < < 4 < < 0 < < 7 ; * set2 < < 3 < < 5 < < 8 < < 13 < < < 5 ; * set3 < < 5 < < 6 < < 7 < < 3 < < 4 < < 5 ; * set4 < < 9 < < 7 < < 5 < < 3 < < 1 < < 2 ;
我們創建系列并將條形集附加到它。該系列擁有 barsets 的所有權。該系列將數據從集合分組到類別。每個集合的第一個值被組合在第一個類別中;第二個類別中的第二個值,依此類推。
QHorizontalBarSeries *series = new QHorizontalBarSeries(); series->append(set0); series->append(set1); series->append(set2); series->append(set3); series->append(set4);
在這里,我們創建圖表對象并向其添加系列。我們使用 setTitle 設置圖表的標題,然后通過調用 setAnimationOptions( QChart::SeriesAnimations )打開系列的動畫。
QChart *chart = new QChart(); chart->addSeries(series); chart->setTitle("Simple horizontal barchart example"); chart->setAnimationOptions(QChart::SeriesAnimations);
要在軸上顯示類別,我們需要為此創建一個QBarCategoryAxis。在這里,我們創建了一個帶有類別列表的類別軸,并將其設置為與左側對齊,充當 y 軸,并將其附加到系列中。圖表擁有軸的所有權。對于 x 軸,我們使用值軸,與底部對齊。
QStringList categories;; categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun"; QBarCategoryAxis *axisY = new QBarCategoryAxis(); axisY->append(categories);(categories); chart->addAxis(axisY(axisY, Qt::AlignLeft);); series->attachAxis(axisY); (axisY); QValueAxis *axisX = new QValueAxis(); chart->addAxis(axisX(axisX, Qt::AlignBottom);); series->attachAxis(axisX);(axisX); axisX->applyNiceNumbers();();
我們也想展示傳奇。為此,我們從圖表中獲取圖例指針并將其設置為可見。我們還通過將其對齊設置為Qt::AlignBottom將圖例放置在圖表的底部。
chart->legend()()->setVisible((true); chart->legend()()->setAlignment((Qt::AlignBottom););
最后,我們將圖表添加到視圖中。我們還為圖表視圖打開了抗鋸齒功能。
QChartView *chartView = new QChartView(chart);chart); chartView->setRenderHint((QPainter::Antialiasing););
圖表已準備好顯示。我們將圖表設置為窗口的中央小部件。我們還設置圖表窗口的大小并顯示它。
QMainWindow window;; window.setCentralWidget(chartView);(chartView); window.resize((420, 300); window.show();();
====================================================
想要了解或購買Qt正版授權的朋友,歡迎
Qt技術交流群現已開通,QQ搜索群號“765444821”或者掃描下方二維碼即可加入
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: