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

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 08:16
    关注

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

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

报告相同问题?

悬赏问题

  • ¥15 origin绘制有显著差异的柱状图和聚类热图
  • ¥20 simulink实现滑模控制和pid控制对比,提现前者优势
  • ¥30 开发一款闲置物资借用管理软件
  • ¥15 (有偿)1500/怎么让网络延迟网速不变/需要做成软件/
  • ¥15 空调变频器板怎么测试可靠性和性能
  • ¥15 uniapp开发:微信小程序使用drawImage绘制第二次时不生效?
  • ¥500 tdx winner 函数计算公式,需和官方一样,1000元
  • ¥15 word 样式管理树状设计
  • ¥15 中国json地图的点击事件
  • ¥15 前端是实现管道重叠效果