wx.BitmapButton大小不正确?

时间:2018-09-23 02:47:23

标签: python-3.x wxpython

我似乎无法弄清楚为什么我的位图按钮看起来像是标准按钮,中间是图像。我遵循了示例和wxPython构造函数方法,似乎没有什么改变或匹配我在示例和教程中看到的内容。这是我的构造函数:

    bmp = wx.Bitmap("plus-circle.png", wx.BITMAP_TYPE_ANY)
    self.imgButton = wx.BitmapButton(self, bitmap=bmp)
    self.imgButton.Bind(wx.EVT_BUTTON, self.addCategory)
    catSizer.Add(self.txtCategory, 0, wx.ALL, 5)
    catSizer.Add(self.cmbCategory, 1, wx.ALL, 5)
    catSizer.Add(self.imgButton, 2, wx.ALL, 5)

这是它在选项卡式窗口中的一部分在我的“面板”中的显示方式:

Image of Button

如何仅将图像作为按钮,而周围没有所有多余的边框?我确实尝试过GetHeight,GetWidth,方法以及DefaultSize等,但是似乎没有任何两项工作。

我在Mac OS Mojave上运行Python 3.6。

谢谢!

1 个答案:

答案 0 :(得分:0)

将按钮添加到尺寸调整器时,指示其将比例更改为2。 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_learninglist); final NowLearning next = (NowLearning)getApplication(); expandableListView = (ExpandableListView) findViewById(R.id.learninglist); expandableListDetail = ExpandableListDataPump.getData(); expandableListTitle = new ArrayList<String>(expandableListDetail.keySet()); expandableListAdapter = new CustomExpandableListAdapter(this, expandableListTitle, expandableListDetail); expandableListView.setAdapter(expandableListAdapter); expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { next.setGnowlearnong(expandableListDetail.get(expandableListTitle.get(groupPosition)).get(childPosition)); MyCustomDialog(expandableListDetail.get(expandableListTitle.get(groupPosition)).get(childPosition)); return false; } }); } public void MyCustomDialog(String content){ final Dialog MyDialog = new Dialog(Learninglist.this); MyDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); MyDialog.setContentView(R.layout.custom_dialog); TextView text = (TextView)MyDialog.findViewById(R.id.dialog_content); text.setText("let you know" + content "for agent?"); Button cancel = (Button)MyDialog.findViewById(R.id.dialog_left); Button tell = (Button)MyDialog.findViewById(R.id.dialog_right); cancel.setEnabled(true); tell.setEnabled(true); tell.setOnClickListener( new Button.OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(getApplicationContext(), Learinng.class); startActivity(intent); finish(); } } ); cancel.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ MyDialog.cancel(); } }); MyDialog.show(); }

catSizer.Add(self.imgButton, 2, wx.ALL, 5)

Sizer.Add(window, proportion=0, flag=0, border=0, userData=None)-

  

此参数在wx.BoxSizer中用于指示是否为   sizer可以在wx.BoxSizer的主要方向上更改其大小-   其中0表示不可更改,而大于零的值为   相对于相同子项的其他子项的价值进行解释   wx.BoxSizer。例如,您可能有一个水平wx.BoxSizer   三个孩子,其中两个应该随着   大小。然后,两个可拉伸窗口的值将为1   每个都使它们与尺寸调整器的水平方向相同地增长和缩小   尺寸。

将您的代码更改为以下内容:
proportion 应该可以解决您的问题。