python - 如何使用 wxpython 在位图中绘制文本?

标签 python wxpython

我想在 wx.EmptyBitmap 中居中绘制一个数字。

我如何使用 wxpython 做到这一点?

提前致谢:)

import wx

app = None

class Size(wx.Frame):
    def __init__(self, parent, id, title):
        frame = wx.Frame.__init__(self, parent, id, title, size=(250, 200))
        bmp = wx.EmptyBitmap(100, 100)
        dc = wx.MemoryDC()
        dc.SelectObject(bmp)
        dc.DrawText("whatever", 50, 50)
        dc.SelectObject(wx.NullBitmap)
        wx.StaticBitmap(self, -1, bmp)
        self.Show(True)


app = wx.App()
Size(None, -1, 'Size')
app.MainLoop()

这段代码只给我一个黑色的图像,我做错了什么? 这里缺少什么..

最佳答案

在 wx.MemoryDC 中选择 bmp,在该 dc 上绘制任何内容,然后选择该位图,例如

import wx

app = None

class Size(wx.Frame):
    def __init__(self, parent, id, title):
        frame = wx.Frame.__init__(self, parent, id, title, size=(250, 200))
        w, h = 100, 100
        bmp = wx.EmptyBitmap(w, h)
        dc = wx.MemoryDC()
        dc.SelectObject(bmp)
        dc.Clear()
        text = "whatever"
        tw, th = dc.GetTextExtent(text)
        dc.DrawText(text, (w-tw)/2,  (h-th)/2)
        dc.SelectObject(wx.NullBitmap)
        wx.StaticBitmap(self, -1, bmp)
        self.Show(True)


app = wx.App()
app.MainLoop()

关于python - 如何使用 wxpython 在位图中绘制文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2583549/

相关文章:

python - Pandas :分配具有多个条件和日期阈值的列

python - wxPython量规问题(跳过)

Python functools.reduce,如何减少列表并返回一个新列表

python pdfplumber : extract pdf with data split into 2 columns

Python:插入字符串时格式错误的数组文字

user-interface - Python 3.3 中的现代 GUI 编程

python - PyInstaller 和多处理

python - 如何在退出框架上获取MessageDialog?

python - 对象没有属性显示

Python:mp3 到 alsaaudio 通过 ffmpeg 管道和 wave.open(f ,'r')