我正在尝试使用PySide创建一些自定义小部件,这将扩展现有的小部件.是否可以从PySide访问存储在"d指针"中的数据.例如,我想继承QLabel.我需要编写一个新的paintEvent函数,但是,我需要复制一些使用来自"d指针"的数据的paintEvent代码,例如d-> control-> document(),据我所知,QLabel没有成员函数来检索它.这可能是纯粹用Python做的,还是我必须创建一个c ++子类并为它创建新的Python绑定?
编辑以响应@ f.rodrigues的评论(因为我的回复太长而无法发表评论)
我需要做的主要事情是创建一个垂直标签,文本旋转90度.StackOverflow(以及Web的其余部分)有很多关于如何通过继承QLabel并覆盖paintEvent函数来创建它的示例.这里的问题是现在调用我的新类的paintEvent,而不是QLabel绘制事件.因此,我想在子类中拥有的QLabel.paintEvent中的任何功能都必须在子类中重写.如果你看一下QLabel :: paintEvent的源代码,可以采用一些不使用d指针就不可能的代码路径.如果我正在编写一个c ++程序,答案就是简单地使用子类'paintEvent中的d指针.
为了我的迫切需要,我能够在不使用d指针的情况下得到我需要的东西.我想知道我的问题的答案,以防我需要修改我的VerticalLabel类或需要子类化不同的Qt类.
我有一个C++ MFC应用程序,它有一堆在.rc文件中定义的对话框.我需要在应用程序中添加一个磁贴以将其固定到开始菜单,因为Windows从图标创建的默认"磁贴"看起来不太好.重写整个应用程序以使用XAML而不是.rc文件现在不是一个选项.磁贴不需要是交互式的,只需显示一个更好看的图片,而不仅仅是打开小图标.
有没有办法使用.rc文件将磁贴添加到MFC应用程序?
如果没有,我的另一个想法是创建一个使用XAML创建一个tile的包装器应用程序,而包装器应用程序唯一要做的就是启动MFC应用程序.有人有更好的解决方案吗?
我正在使用Visual Studio 2015.我正在使用的.ico文件中包含768x768,512x512,256x256,150x150,48x48,32x32和16x16版本的图像.
编辑
关于我究竟需要什么,有些困惑.这是一个带注释的屏幕截图,希望能清楚地显示问题.

另外一个澄清,我认为这没有任何区别,但我认为我只是为了安全而添加它.该程序不需要在Windows 8/8.1上运行,只需要在Windows7和Windows10上运行
我有一个使用的MFC程序 GetTempFileName.在Windows 7上它可以正常工作,但是当我将相同的代码添加到Windows 10时,它会产生垃圾.
TCHAR temp_dir[1024];
GetTempPath(1024,temp_dir);
TCHAR temp_file[1024];
GetTempFileName("C:\\","udb",0,temp_file);
std::cout << "Temp DB Path: " << temp_file << std::endl;
Run Code Online (Sandbox Code Playgroud)
在Windows7上:
Temp DB Path: C:\udb2145.tmp
Run Code Online (Sandbox Code Playgroud)
在Windows10上:
Temp DB Path: o?
Run Code Online (Sandbox Code Playgroud)
我在代码中做错了吗?或者我应该使用不同的功能?