繁体   English   中英

我想知道如何在wx.ScrolledWindow中放置连续值

[英]I want to know how to put continuous values in wx.ScrolledWindow

我想使用for语句将wx.panel输出输出到滚动wx.panel ,但是仅输出最后100个值。 我想知道该怎么办,我可以在常规面板中累积值吗? 而且我想知道如何在不使用SetScrollbars方法的情况下自动滚动。

import wx

class test(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None)
        main = wx.ScrolledWindow(self)
        main.SetScrollbars(10,10,10,10)

        for i in range(1,101):
            print(i)
            wx.StaticText(main, label=str(i))

if __name__ == '__main__':
    app = wx.App()
    frame = test()
    frame.Show(True)
    app.MainLoop()

我还有其他问题。 如何将顺序从1反转为100,再从100反转为1?

wx.TextCtrl是否也具有反向功能? 最后,我想知道是否需要执行转换工作才能将Oracle RTF语句输出到wx.TextCtrl。

Oracle RTF:

{\ rtf1 \ ansi \ ansicpg949 \ deff0 \ deflang1033 \ deflangfe1042 {\ fonttbl {\ f0 \ fnil \ fcharset129 \ 'b1 \' bc \ 'b8 \' b2 \ 'c3 \' bc;}}
{\ Colortbl; \ red0 \ green0 \ blue0;}
\ Viewkind4 \ p1 \ pard \ cf1 \ lang1042 \ f0 \ fs20 vulva - marked improved
\ Par \ cf0 \ fs20
\ Par}

再次感谢你。

我不相信您想要wx.ScrolledWindow实现您的目标。
尝试这个:

import wx
import time
class test(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None)
        self.panel = wx.Panel(self, wx.ID_ANY)
        self.log = wx.TextCtrl(self.panel, wx.ID_ANY, size=(300,400),
                        style = wx.TE_MULTILINE|wx.TE_READONLY|wx.VSCROLL)
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.log, 1, wx.ALL|wx.EXPAND, 5)
        self.panel.SetSizer(sizer)
        self.Show()
        for i in range(1,101):
            self.log.AppendText(str(i)+"\n")
            self.log.ShowPosition(-1)
            self.panel.Update()
            time.sleep(0.1)
            wx.Yield()

if __name__ == '__main__':
    app = wx.App()
    frame = test()
    app.MainLoop()

可以说,不需要sizer,但是您可能想要添加一些控制按钮,例如Stop以后Stop ,有了sizer,您就可以这样做。
通过调用Yield ,您可以查看循环过程中发生的情况,并可以在将来单击“ Stop按钮。
要将呼叫time.sleep是那里才慢下来,并ShowPosition保持在焦点添加的最后一个项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM