Qt是一個跨平台架構,通常用作圖形工具包,它不僅建立CLI應用程式中非常有用。而且它也可以在三種主要的桌上型電腦作業系統以及移動作業系統(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式裝置,Android(Necessitas)和iOS的端口上運作。現在我們為你提供了免費的試用版。
下載下傳Qt6最新試用版
Qt元件推薦:
- QtitanRibbon| 下載下傳試用: 遵循Microsoft Ribbon UI Paradigm for Qt技術的Ribbon UI元件,緻力于為Windows、Linux和Mac OS X提供功能完整的Ribbon元件。
- QtitanChart | 下載下傳試用 :是一個C ++庫,代表一組控件,這些控件使您可以快速地為應用程式提供漂亮而豐富的圖表。并且支援所有主要的桌面
該示例顯示了如何建立水準條形圖。
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技術交流群現已開通,QQ搜尋群号“765444821”或者掃描下方二維碼即可加入