VS笔记(2)
对于不熟悉VisualStudio 2008的初学者而言,会以为这是一种错误,其实只是项目默认的启动工程没有生成可执行文件而已。右击“Solution Explorer”里的“TestVTKInstall”工程,然后选择“Set as StartUp project”,再次F5即可。
2、代码规范:具有相同或类似的操作,尽量用数组、指针、向量、map存储对象,然后用for循环进行。
3、
在Qt助手中找到StyleSheet的方法。
The margin, border-width, and padding properties all default to zero. In that case, all four rectangles (margin, border, padding, and content) coincide exactly.
youcan specify a background for the widget using the background-image property.By default, the background-image is drawn only for the area inside the border.This can be changed using the background-clip property.You can use background-repeat and background-origin tocontrol the repetition and origin of the background image.
4、改Bug心得
Sidepanel与mainpanel之间通过model通信,不要试图谁包含谁。
在最直接的原因处修改问题。
修改状态未恢复的问题思路:
1、 在状态需要修改处恢复,不要在change函数里面改,因为包含没有change的情况。也可以故意修改一下状态,确保进change函数
例:点击上一步并重新加图时,模式显示面板自动恢复到btn状态。
在确定图像更新处:
VRDisplayModeeVRDisplayMode = NONE_Mode;
m_pMipMprViewModel->GetVRDisplayMode( eVRDisplayMode );
if(eVRDisplayMode == NONE_Mode)
{
m_pMipMprViewModel->SetMPRMIPVRSROPTYPE(VR_OPTYPE);
m_pMipMprViewModel->SetVRDisplayMode(VR_Mode);
}
m_pMipMprViewModel->SetMPRMIPVRSROPTYPE(NONE_OPTYPE);
m_pMipMprViewModel->SetVRDisplayMode(NONE_Mode);
确保进入
voidMipMprViewModelChanged();
5、 QMouseEvent *e获取的是window坐标,存到model里的点一般都是世界坐标系的点。
6、坐标系说明
命名如下:
window坐标,为Qt的屏幕坐标
display坐标,为vtk的display坐标
world坐标,为vtk的world坐标
在写转换函数时,应分清转换的坐标,如,displaytoworld,windowtodisplay
转换关系
1)window与display:
display.x=window.x
display.y=窗口大小-window.y
display.z=0
2)display与world:
用vtk转换
7、VS快捷键
Ctrl+z:撤销输入
Ctrl+k+f 对齐
Ctrl+k+c 注释
Ctrl+k+u 取消注释