【发布时间】:2020-06-18 11:58:47
【问题描述】:
我最近开始学习 C++ 和 wxWidgets,现在我正在构建一个计算器程序。我有一个带按钮的网格尺寸器,我想知道是否可以更改整个尺寸器的字体而不是更改每个按钮的字体?
【问题讨论】:
标签: c++ user-interface wxwidgets
我最近开始学习 C++ 和 wxWidgets,现在我正在构建一个计算器程序。我有一个带按钮的网格尺寸器,我想知道是否可以更改整个尺寸器的字体而不是更改每个按钮的字体?
【问题讨论】:
标签: c++ user-interface wxwidgets
Sizer 不是窗口,因此没有任何字体,所以,不,您不能只在 sizer 上调用 SetFont()。您可以遍历所有 sizer 项目并在每个作为窗口的项目上调用 SetFont()。或者,效率稍低(因为您“浪费”了一个窗口),但更方便的是,您可以将所有按钮设为 wxPanel 的子级,并将现有的大小调整器与此面板相关联。然后您就可以在面板上调用SetFont(),该面板是一个窗口,因此默认情况下会将字体更改传播给它的所有子窗口。
【讨论】:
另一种解决方案可能是创建一个 wxButton 的子级,它将在构造函数中获取数字并在那里更改字体。
【讨论】: