Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么TCanvas在根shell中执行宏时不绘制?_C++_Root Framework_Tcanvas - Fatal编程技术网

C++ 为什么TCanvas在根shell中执行宏时不绘制?

C++ 为什么TCanvas在根shell中执行宏时不绘制?,c++,root-framework,tcanvas,C++,Root Framework,Tcanvas,假设我有一个宏包含两个TGraphs:T1和T2,我有一个画布“C”分为两部分: TCanvas *C = new TCanvas("","",0,0,400,400); C->Divide(2,1); 当这个部分被执行时,BLANC画布出现在我的屏幕上,但是它变灰了。不活跃的但那没关系,然后它继续 程序有两个不同的部分,第一部分完成计算,进入画布的前半部分并绘制第一个TGraph: C->cd(1); T1->Draw("AP"); 此时,我希望已经在画布的前半部分看到了

假设我有一个宏包含两个TGraphsT1T2,我有一个画布“C”分为两部分:

TCanvas *C = new TCanvas("","",0,0,400,400);
C->Divide(2,1);

当这个部分被执行时,BLANC画布出现在我的屏幕上,但是它变灰了。不活跃的但那没关系,然后它继续

程序有两个不同的部分,第一部分完成计算,进入画布的前半部分并绘制第一个TGraph

C->cd(1);
T1->Draw("AP");
此时,我希望已经在画布的前半部分看到了图形,但不幸的是,没有显示任何内容,画布仍然处于非活动状态!该程序将进入下一部分:

C->cd(2);
T2->Draw("AP");
同样的故事画布上还没有显示任何内容,但执行完成后,我回到根shell,如下所示:

root[#]

现在我可以看到这两张图了!我想要的是像
T1->Draw(“AP”)
这样执行的部分应该已经出现在
cd(1)
上,然后
cd(2)
上的图形应该出现。有没有办法做到这一点?

好的,我在CERN-ROOT的线程中找到了一个解决方案:

用户“couet”建议使用的位置

C->Modified();
C->Update()

在每个“
C->Draw();
”之后


我把这个应用到我的问题上,它成功了

好的,我在CERN-ROOT的线程中找到了一个解决方案:

用户“couet”建议使用的位置

C->Modified();
C->Update()

在每个“
C->Draw();
”之后


我把这个应用到我的问题上,它成功了

关于评论元问题,如果你在评论中这样做可能会更好,因为大多数读者(不登录或投票的读者)并不真正感兴趣。读者非常喜欢这里的简洁!关于评论元问题,如果你在评论中这样做可能会更好,因为大多数读者(不登录或投票的读者)并不真正感兴趣。读者非常喜欢这里的简洁!