wxBitmap不在Mac的wxButton中居中

问题描述 投票:0回答:2

我正在Windows,Mac和Linux 3个平台上使用wxWidgets-3.1.3构建桌面GUI。

主页已随附,仅显示3个图块按钮。每个按钮在下面都有一个静态文本描述,并在按钮中有一个位图。

但是,当我在Windows和Linux上构建时,位图图片可以显示在按钮的中间。当我尝试在Mac上使用XCode进行构建时,位图的位置会扭曲,如图所示。我知道根本原因是因为默认情况下,位图方向是wxLEFT。

我尝试过:

向每个按钮添加wxBU_NOTEXT样式,但是它不起作用。

下周我需要这个用户界面。因此,任何帮助将不胜感激!

wxImage::AddHandler(new wxPNGHandler);
    wxBitmap DataValidationIcon = wxBITMAP_PNG_FROM_DATA(Data_Validation);
    wxBitmap ActiveIdleIcon = wxBITMAP_PNG_FROM_DATA(Active_Idle);
    wxBitmap SDKDemoIcon = wxBITMAP_PNG_FROM_DATA(SDK_Demo);

    DataValidationBtn->SetBitmap(DataValidationIcon);
    ActiveIdleBtn->SetBitmap(ActiveIdleIcon);
    SDKDemoBtn->SetBitmap(SDKDemoIcon);

MacOS distorted the positioning of bitmap

macos user-interface wxwidgets centering
2个回答
0
投票

您没有显示创建SDKDemoBtn的代码,因此我不确定如何创建它以及是否使用任何对齐方式。但是在任何/最坏的情况下,您始终可以使用wxImage::Paste()动态生成按钮大小的位图,其中包含居中于其中的真实位图。


0
投票

我设法通过SetMinSize()专门针对MacOS解决了它。显然,对于Mac,要遵循严格的UI准则。如果您设置默认按钮大小,则位图将自动适合按钮大小。如果将最小按钮尺寸设置为大于位图,则布局将变形。

© www.soinside.com 2019 - 2024. All rights reserved.