cern-root是欧洲核子研究中心CERN开发的基于C++,可与python,R,Fortran等语言进行绑定的数据处理框架。cern-root最初基于Qt开发,在root5之前可通过Qt来开发root的界面,后续版本qtroot项目被废弃。经历过手写root GUI软件的痛苦,一直想着能否通过Qt来写root的界面。近期重拾Qt学习,因而对这个问题进行了进一步的研究。
![4ea3bc0473f1d2a3424b077cd8766bb8.png](https://img-blog.csdnimg.cn/img_convert/4ea3bc0473f1d2a3424b077cd8766bb8.png)
ROOT
首先在项目的.pro文件中载入ROOT库头文件和链接库
NCLUDEPATH += /usr/local/opt/root6/includeLIBS += -L/usr/local/opt/root6/lib -lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lTreePlayer -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lMultiProc -pthread -lm -ldl -rdynamic
随后即可在项目中调用root的类。如在mainWindow构造函数添加下列代码。
TString s("nihao"); s.Append("hello"); s.Data(); ui->setupUi(this); ui->label->setText(QString::number(TMath::Pi()+Int_t(32),10,10)+s.Data()); TFile *f=new TFile("test.root