PandaQk 2021-05-05 13:18 采纳率: 60%
浏览 133
已采纳

wxpython 控件 TextCtrl 影响静态文本显示问题

一、问题描述:

我先写了一个 静态文本 放进 【BoxSizer__垂直分布】, 然后 再写了一个 TextCtrl 控件, 但 控件显示, 有时候会在静态文本上出现

二、图示:

 

三、代码:

""" 制作 一个 简易的 计算器 """
import wx
import time
from 项目实践.工具.my_tool import App


# Frame 框架类
class Frame(wx.Frame):
    def __init__(self):
        # 初始化
        wx.Frame.__init__(self, parent=None, id=-1, title='计算器', size=(300, 500))

        self.panel = wx.Panel(self)
        self.box_mag()
        # --- 固定搭配
        self.Center()
        self.Show()

    # 1. 标题
    def show_title(self):
        # 1. 创建静态文本
        title = wx.StaticText(parent=self.panel, id=-1, label='简易计算器', )

        # 2. 文本设置字体样式
        font = wx.Font(20, wx.FONTFAMILY_ROMAN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)
        title.SetFont(font)

        return title

    # 1. 显示
    def show_res(self):
        res = wx.TextCtrl(self.panel, id=-1, value='0', size=(200, 30), style= wx.TE_LEFT | wx.TE_NOHIDESEL | wx.TE_READONLY,name='结果显示框')
        return res

    # 容器管理
    def box_mag(self):
        # 0. 创建管理器
        box_sizer = wx.BoxSizer(wx.VERTICAL)

        # 1. 标题
        box_sizer.Add(self.show_title(), flag=wx.ALIGN_CENTER | wx.ALL, border=30)

        # 2. 显示
        box_sizer.Add(self.show_res(), flag=wx.ALIGN_CENTER | wx.ALL, border=50)


        # 2. 操作

        # 2. 设置管理器
        self.panel.SetSizer(box_sizer)

class App(wx.App):
    def __init__(self, frame_class):
        super(self.__class__, self).__init__()
        frame = frame_class()

        # 设置为顶层框架
        self.SetTopWindow(frame)

        # 一直检测 事件
        self.MainLoop()

    def OnExit(self):
        return True


if __name__ == '__main__':
    App(Frame)
  • 写回答

1条回答 默认 最新

  • 天元浪子 Python领域优质创作者 2021-05-05 16:16
    关注

    使用布局管理器时,一般SetSizer()之后,需要Layout(),才能避免题主所说的问题(如下图所示)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置