我想在wxAuiToolBar
添加一个按钮,显示我自己创建的图标(我将其作为文件myicon.png
,分辨率为24x24)。
我到目前为止最好的是转换为bmp文件并使用以下代码为wxsmith:
<wxsmith>
<object class="wxFrame" name="MyFrame">
<size>800,640</size>
<object class="wxAuiManager" variable="aui_manager" member="yes">
<object class="AuiManagerItem">
<object class="wxAuiToolBar" name="ID_AUITOOLBAR" variable="toolbar" member="yes">
<pos>90,3</pos>
<object class="AuiToolBarItem">
<object class="wxAuiToolBarItem" name="ID_AUITOOLBARMEASURE" variable="AuiToolBarMeasure" member="yes">
<bitmap>/home/username/project/icon.bmp</bitmap>
<handler function="OnTest" entry="EVT_TOOL" />
</object>
<label>Test</label>
</object>
</object>
</object>
</object>
</object>
</wxsmith>
导致以下源代码:
toolbar->AddTool(ID_AUITOOLBAR1, _("Test"),
wxBitmap(wxImage(_T("/home/username/project/icon.bmp"))), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL);
然而,透明度信息会丢失。
如果我使用png文件或转换为xpm,那么我会收到运行时错误:&#34; ../ src / gtk / bitmap.cpp(626):assert&#34; image.IsOk()& #34; wxBitmap()失败:图像无效&#34;
目前我正试图让它与WxSmith一起工作,但如果事实证明不可能,那么如果有人能帮助我让它在没有工作的情况下我也会感到高兴。