首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用wxStaticText时用wxFormBuilder显示wxFormBuilder的问题

在使用wxStaticText时用wxFormBuilder显示wxFormBuilder的问题
EN

Stack Overflow用户
提问于 2022-10-26 12:09:50
回答 1查看 19关注 0票数 0

我刚开始学习python,所以我不太懂一些东西。所以我试着制作一个小型桌面应用程序,我不想用代码做所有的设计,所以我找到了像wxFormBuilder这样的东西,它非常适合我。问题是,当我完成了窗口的所有“设计”时,它在wxFormBuilder中看起来很好,但是当我复制了PyCharm中的所有代码并启动程序时--所有的东西都运行得非常好,没有一个wxStaticText显示。我真的不明白是什么问题,因为我使用了Sizers和所有这些东西,甚至试图修改大部分与文本标签相关的代码,但仍然没有文本。我正在应用PyCharm和wxFormBuilder的截图来说明它的外观。此外,还有以下代码:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
import wx
import wx.xrc


class MainWindow(wx.Frame):

    def __init__(self, parent):
        wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"FinanceC", pos=wx.DefaultPosition, size=wx.Size(700, 389),
                          style=wx.CAPTION | wx.CLOSE_BOX | wx.MINIMIZE_BOX | wx.SYSTEM_MENU | wx.TAB_TRAVERSAL)

        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)
        self.SetForegroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))
        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))

        fgSizer3 = wx.FlexGridSizer(2, 2, 0, 0)
        fgSizer3.SetFlexibleDirection(wx.BOTH)
        fgSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)

        bSizer18 = wx.BoxSizer(wx.VERTICAL)

        self.m_staticText1 = wx.StaticText(self, wx.ID_ANY,
                                           u"Выберите html-файл экспортированных сообщений из телеграма",
                                           wx.DefaultPosition, wx.DefaultSize, 0)

        self.m_staticText1.SetFont(
            wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Century Gothic"))

        bSizer18.Add(self.m_staticText1, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.TOP, 20)
        fgSizer5 = wx.FlexGridSizer(2, 2, 0, 0)
        fgSizer5.SetFlexibleDirection(wx.BOTH)
        fgSizer5.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)

        bSizer32 = wx.BoxSizer(wx.VERTICAL)

        self.html_path = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(540, -1), 0)
        self.html_path.Enable(False)

        bSizer32.Add(self.html_path, 0, wx.ALL, 5)

        fgSizer5.Add(bSizer32, 1, wx.ALIGN_LEFT | wx.LEFT | wx.RESERVE_SPACE_EVEN_IF_HIDDEN | wx.RIGHT | wx.TOP, 10)

        bSizer311 = wx.BoxSizer(wx.VERTICAL)

        self.button_html = wx.Button(self, wx.ID_ANY, u"Открыть", wx.DefaultPosition, wx.Size(105, -1), 0)
        self.button_html.SetFont(
            wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Century Gothic"))

        bSizer311.Add(self.button_html, 0, 0, 5)

        fgSizer5.Add(bSizer311, 1, wx.ALIGN_RIGHT | wx.BOTTOM | wx.RESERVE_SPACE_EVEN_IF_HIDDEN | wx.RIGHT | wx.TOP, 15)

        bSizer18.Add(fgSizer5, 1, wx.ALIGN_CENTER_HORIZONTAL | wx.SHAPED, 5)

        self.m_staticText11 = wx.StaticText(self, wx.ID_ANY, u"Укажите путь сохранения отчета",
                                            wx.DefaultPosition, wx.DefaultSize, 0)
        self.m_staticText11.Wrap(-1)

        self.m_staticText11.SetFont(
            wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Century Gothic"))

        bSizer18.Add(self.m_staticText11, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.TOP, 0)

        fgSizer51 = wx.FlexGridSizer(2, 2, 0, 0)
        fgSizer51.SetFlexibleDirection(wx.BOTH)
        fgSizer51.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)

        bSizer321 = wx.BoxSizer(wx.VERTICAL)

        self.xlsx_path = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(540, -1), 0)
        self.xlsx_path.Enable(False)

        bSizer321.Add(self.xlsx_path, 0, wx.ALL, 5)

        fgSizer51.Add(bSizer321, 1, wx.ALIGN_LEFT | wx.LEFT | wx.RESERVE_SPACE_EVEN_IF_HIDDEN | wx.RIGHT | wx.TOP, 10)

        bSizer3111 = wx.BoxSizer(wx.VERTICAL)

        self.button_xlsx = wx.Button(self, wx.ID_ANY, u"Обзор", wx.DefaultPosition, wx.Size(105, -1), 0)
        self.button_xlsx.SetFont(
            wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Century Gothic"))

        bSizer3111.Add(self.button_xlsx, 0, 0, 5)

        fgSizer51.Add(bSizer3111, 1, wx.ALIGN_RIGHT | wx.BOTTOM | wx.RESERVE_SPACE_EVEN_IF_HIDDEN | wx.RIGHT | wx.TOP,
                      15)

        bSizer18.Add(fgSizer51, 1, wx.EXPAND, 5)

        bSizer6 = wx.BoxSizer(wx.VERTICAL)

        self.button_start = wx.Button(self, wx.ID_ANY, u"Начать", wx.DefaultPosition, wx.Size(100, 30), 0)
        self.button_start.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Century Gothic"))

        bSizer6.Add(self.button_start, 0, wx.ALL, 5)

        bSizer18.Add(bSizer6, 1, wx.ALIGN_CENTER_HORIZONTAL, 5)

        bSizer7 = wx.BoxSizer(wx.VERTICAL)

        self.text_convert = wx.StaticText(self, wx.ID_ANY, u"Конвертируем html-файл в таблицу xlsx...",
                                          wx.DefaultPosition, wx.DefaultSize, 0)
        self.text_convert.Wrap(-1)

        self.text_convert.SetFont(
            wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Century Gothic"))

        bSizer7.Add(self.text_convert, 0, wx.ALL | wx.RESERVE_SPACE_EVEN_IF_HIDDEN, 5)

        self.text_convert.Hide()

        self.text_delete = wx.StaticText(self, wx.ID_ANY, u"Удаляем ненужные данные...", wx.DefaultPosition,
                                         wx.DefaultSize, 0)
        self.text_delete.Wrap(-1)

        self.text_delete.SetFont(
            wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Century Gothic"))

        bSizer7.Add(self.text_delete, 0, wx.ALL | wx.RESERVE_SPACE_EVEN_IF_HIDDEN, 5)

        bSizer18.Add(bSizer7, 1, wx.EXPAND | wx.RESERVE_SPACE_EVEN_IF_HIDDEN, 5)

        self.text_delete.Hide()

        bSizer71 = wx.BoxSizer(wx.VERTICAL)

        self.text_calc = wx.StaticText(self, wx.ID_ANY, u"Производим расчеты...", wx.DefaultPosition, wx.DefaultSize, 0)
        self.text_calc.Wrap(-1)

        self.text_calc.SetFont(
            wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Century Gothic"))

        bSizer71.Add(self.text_calc, 0, wx.ALL | wx.RESERVE_SPACE_EVEN_IF_HIDDEN, 5)

        self.text_calc.Hide()

        self.m_staticText11111 = wx.StaticText(self, wx.ID_ANY,
                                               u"Готово! Рабочий файл сохранен по указанному пути под именем \"",
                                               wx.DefaultPosition, wx.DefaultSize, 0)
        self.m_staticText11111.Wrap(-1)

        self.m_staticText11111.SetFont(
            wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Century Gothic"))

        bSizer71.Add(self.m_staticText11111, 0, wx.ALL | wx.RESERVE_SPACE_EVEN_IF_HIDDEN, 5)

        bSizer18.Add(bSizer71, 1, wx.EXPAND | wx.RESERVE_SPACE_EVEN_IF_HIDDEN, 5)

        fgSizer3.Add(bSizer18, 1, 0, 5)

        self.m_staticText11111.Hide()

        self.SetSizer(fgSizer3)
        self.Layout()

        self.Centre(wx.BOTH)


        # Connect Events
        self.button_html.Bind(wx.EVT_BUTTON, self.button_html_click)
        self.button_xlsx.Bind(wx.EVT_BUTTON, self.button_xlsx_click)
        self.button_start.Bind(wx.EVT_BUTTON, self.button_start_click)

    def __del__(self):
        pass

    # Virtual event handlers, override them in your derived class
    def button_html_click(self, event):
        event.Skip()

    def button_xlsx_click(self, event):
        event.Skip()

    def button_start_click(self, event):
        event.Skip()


app = wx.App()
frame = MainWindow(None)
frame.Show()
app.MainLoop()

我尝试在wxFormBuilder中创建只包含文本的清晰表单,并在PyCharm中打开它--它起作用了。我也尝试在我的主要形式,字体的样式,大小,不同的参数,尝试编辑不同的参数在代码中,仍然什么也没有。我还试图改变wxStaticText的位置和大小,它在PyCharm中发生变化,当我这样做时,会有更多的空闲空格(这个自由空间就在它必须的位置),但仍然没有文本显示。也尝试过在文本中使用英语--仍然一样。值得注意的是,我试图用wxStaticText替换wxTextCtrl,它起了作用--文本显示了,但元素并不完全满足我的需要。

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 09:05:07

我已经弄清楚问题出在哪里了。文本的默认颜色是白色,而形式的背景是白色。在每个StaticText的代码中,您都需要添加:self.m_staticText1.SetForegroundColour('black'),这样它就会出现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74207526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档