C++ wxWidgets:更改大小器的字体

C++ wxWidgets: Change Font of Sizer

本文关键字:字体 wxWidgets C++      更新时间:2023-10-16

我最近开始学习C++和wxWidgets,现在我正在构建一个计算器程序。我有一个带按钮的网格尺寸器,我想知道是否可以更改整个尺寸器的字体而不是更改每个按钮的字体?

大小器不是窗口,因此没有任何字体,因此,不,您不能只在大小器上调用SetFont()。您可以遍历所有大小器项目,并对每个项目(一个窗口(调用SetFont()。或者,效率稍低(因为您"浪费"了一个窗口(,但更方便的是,您可以将所有按钮都设置为wxPanel子按钮,并将现有大小器与此面板相关联。然后,您可以在面板(一个窗口(上调用SetFont(),因此默认情况下会将字体更改传播到其所有子项。

另一种解决方案可能是创建一个 wxButton 的子项,该子项将获取构造函数中的数字并更改那里的字体。