c++ - wxWidgets 获取显示 wxString(单行)所需的像素数 - wxDC::GetTextExtent 不能是唯一的方法

标签 c++ wxpython wxwidgets

我需要获取字符串所需的空间(自定义小部件的东西 - 所以合法使用!),在任何绘制调用之前都需要它,所以我还没有绘制 DC 来调用 http://docs.wxwidgets.org/trunk/classwx_d_c.html#ae55cbf1bc7b7e836cb192eb48d31efab

现在我认为所需的空间是字体的函数,而不是 DC,但我还没有找到方法。

我确实找到了一些 wxPython 答案(这不是一件坏事,两者很容易在之间切换!),但它们涉及获取 DC,然后在其上调用 GetTextExtent。

一定有一个有效的方法!

(我使用的是wxWidgets 2.8)

另一个“答案”

http://forums.wxwidgets.org/viewtopic.php?t=17143&p=74448

它还创建了一个 DC

另一个,The right way to find the size of text in wxPython

那个创建了一个wxDC,我不能这样做,因为它是一个抽象基类(理所当然)

最佳答案

如果您仅需要它来进行测量,则可以随时创建 wxClientDCGetTextExtent() 是测量单个字符串最有效的方法。对于多个字符串,GetPartialTextExtents() 可能更有用。

关于c++ - wxWidgets 获取显示 wxString(单行)所需的像素数 - wxDC::GetTextExtent 不能是唯一的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24785839/

相关文章:

c++ - 数组与 std::initializer_list 作为函数参数

c++ - 如何在MFC Dialog中添加 Canvas ?

c++ - "void *(*)(void *)"在 C++ 中是什么意思?

python - wxPython - wxGrid - 如何检测哪一列移动到哪里

c++ - GDB 断点不停止程序(Bullet Physics 库中的断点)

python - 我可以在 wxPython 的列表控件中创建下拉组合框吗?

python - 用 GridBagSizer 中的列填充可用空间

python - Mac OS X 上的 wxPython 2.9

python - wx.grid 不更新行数

c++ - 在 Windows 上使用 GCC 的链接时间优化构建 wxWidgets DLL 时出错