欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS笔记(2)

程序员文章站 2022-07-13 10:50:36
...
1、VS笔记(2)

对于不熟悉VisualStudio 2008的初学者而言,会以为这是一种错误,其实只是项目默认的启动工程没有生成可执行文件而已。右击“Solution Explorer”里的“TestVTKInstall”工程,然后选择“Set as StartUp project”,再次F5即可。

2、代码规范:具有相同或类似的操作,尽量用数组、指针、向量、map存储对象,然后用for循环进行。

3、VS笔记(2)

Qt助手中找到StyleSheet的方法。

VS笔记(2)

The marginborder-width, and padding properties all default to zero. In that case, all four rectangles (marginborderpadding, 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心得

Sidepanelmainpanel之间通过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 取消注释

相关标签: VS