我正在尝试在包含非拉丁字符的 Qt/C++ 软件上加载文件。一个用户报告的问题是俄罗斯文件名,我试图用下面的代码快速修复它。
示例文件名是(我不会读或写俄语!):??????? ???.dgr
bool QDepthmapView::loadFile(const QString &fileName)
{
m_open_file_name = fileName;
m_redraw_all = 1;
// this fixes the problem on a MacOSX but NOT on Windows!
QByteArray ba = fileName.toUtf8();
char *file = ba.data();
// end of fix
if(pDoc->OnOpenDocument(file)) // quick fix for weird chars (russian filename bug report)
{
// removed
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
上面的修复是我在网上找到的一个快速的脏东西,它适用于我的 MacOSX10.8,但似乎 Windows 处理非 ASCII 字符有点不同,我不熟悉它。
我正在寻找用于加载非 ASCII 文件名的多平台解决方案(该软件在 Win、Mac 和 Linux 上运行)。
关于以下评论的编辑:
OnOpenDocument转到:
int QGraphDoc::OnOpenDocument(char* lpszPathName)
{
m_opened_name = …Run Code Online (Sandbox Code Playgroud) 我需要找到两个段(线)之间的"内部"角度,小于180度.有什么快速的方法在python2.7中做到这一点?(Shapely似乎没有这个功能)
segment1是x1,y1,x2,y2
segment2是x3,y3,x4,y4
