【发布时间】:2018-04-18 06:06:40
【问题描述】:
我使用了原始源代码 - How to resize and draw an image using wxpython?
问题是如何显示没有边框的窗口,参数是wx.NO_BORDER还是wx.BORDER_NONE?
frame = wx.Frame(None, -1, 'Scaled Image', style= wx.BORDER_NONE)
当我使用它时,图像显示在左上角,有什么建议吗?
像这样:
def scale_bitmap(bitmap, width, height):
image = wx.ImageFromBitmap(bitmap)
image = image.Scale(width, height, wx.IMAGE_QUALITY_HIGH)
result = wx.BitmapFromImage(image)
return result
class Panel(wx.Panel):
def __init__(self, parent, path):
super(Panel, self).__init__(parent, -1)
bitmap = wx.Bitmap(path)
bitmap = scale_bitmap(bitmap, 100, 100)
control = wx.StaticBitmap(self, -1, bitmap)
# control.SetPosition((10, 10))
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, 'Scaled Image', style= wx.BORDER_NONE)
panel = Panel(frame, 'onewayr.jpg')
frame.SetPosition((100, 100))
frame.Show()
app.MainLoop()
【问题讨论】:
-
你在框架上放了什么小部件?如果有一个或多个子小部件并且没有进行任何操作来管理它们的大小或位置,则您在图像中显示的内容很常见。为您的问题添加一个最小但可运行的应用程序将有很大帮助。
-
请查看更新的代码!如果您删除 (style= wx.BORDER_NONE) 它会正确显示!
标签: python image wxpython border