标签: wxpython

以字符数设置wxPython TextCtrl的宽度

我有一个TextCtrl在我的wxPython程序中,我想将其宽度设置为正好3个字符.但是,手动设置其大小的唯一方法是仅接受像素数.有没有办法指定字符而不是像素?

python wxpython

7
推荐指数
1
解决办法
3333
查看次数

wxpython auinotebook关闭标签事件

当我关闭auinotebook中的标签时会使用什么事件?我用EVT_AUINOTEBOOK_PAGE_CLOSE(D)进行了测试.它没用.

我还要右键单击选项卡本身事件.

我在哪里可以找到可以与aui manager/notebook一起使用的所有事件?可能只是我糟糕的搜索技能,但我找不到存在的不同事件的任何列表,也不能找到鼠标/窗口事件.拥有一份完整的清单真的很方便.

#!/usr/bin/python

#12_aui_notebook1.py

import wx
import wx.lib.inspection

class MyFrame(wx.Frame):
    def __init__(self, *args, **kwds):
        wx.Frame.__init__(self, *args, **kwds)

        self.nb = wx.aui.AuiNotebook(self)

        self.new_panel('Page 1')
        self.new_panel('Page 2')
        self.new_panel('Page 3')

        self.nb.Bind(wx.EVT_AUINOTEBOOK_PAGE_CLOSED, self.close)

    def new_panel(self, nm):
        pnl = wx.Panel(self)
        pnl.identifierTag = nm
        self.nb.AddPage(pnl, nm)
        self.sizer = wx.BoxSizer()
        self.sizer.Add(self.nb, 1, wx.EXPAND)
        self.SetSizer(self.sizer)

    def close(self, event):
        print 'closed'

class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, '12_aui_notebook1.py')
        frame.Show()
        self.SetTopWindow(frame)
        return 1

if __name__ == "__main__":
    app = MyApp(0)
#    wx.lib.inspection.InspectionTool().Show()
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

Oerjan Pettersen

python wxwidgets wxpython

7
推荐指数
1
解决办法
3442
查看次数

是否可以将TextCtrl限制为仅在wxPython中接受数字?

我想要一个只接受数字的文本控件.(只需45或366之类的整数值)

做这个的最好方式是什么?

wxpython textctrl

7
推荐指数
2
解决办法
9000
查看次数

wxPython wxTextCtrl中每行的不同前景色

我有一条多线

wx.TextCtrl()
Run Code Online (Sandbox Code Playgroud)

我设置它的forground和用于写字符串的背景颜色的对象.我需要用不同的颜色写出不同的线条,

wx.TextCtrl.setForgroundcolor()
Run Code Online (Sandbox Code Playgroud)

改变所有以前的线条颜色.这有什么方法吗?

python wxpython

7
推荐指数
2
解决办法
5327
查看次数

使用virtualenv时,为什么Python构建突然不是Framework构建?

我在我的Mac上安装了Python 2.7作为Framework构建.我已经安装并确认wxPython适用于这个Python构建.但是当我使用virtualenv创建虚拟环境时,生成的Python可执行文件不是框架构建,或者至少不是根据wxPython:

This program needs access to the screen.
Please run with a Framework build of python, and only when you are
logged in on the main display of your Mac.

有任何想法吗?

python macos wxpython virtualenv

7
推荐指数
2
解决办法
3997
查看次数

更改StaticText标签的正确方法是什么?

我正在编写一个wxPython应用程序,当我尝试更改StaticText对象中的文本时,我设置的对齐就消失了.它从中心开始,但在文本更改后,对齐将返回默认的左对齐.这是我的相关代码:

#initializing
self.panel = wx.Panel(self)
self.st_RouteInfo = wx.StaticText(self.panel, label=self.route_start, style=wx.ALIGN_CENTRE)

#changing StaticText
self.st_RouteInfo.SetLabel("Put text here")
self.Update()
Run Code Online (Sandbox Code Playgroud)

我猜我忘记了一些基本的东西,因为我是wxPython和wxWidgets的新手.谢谢!

wxwidgets wxpython

7
推荐指数
1
解决办法
1万
查看次数

在在线IDE上使用Python的GUI?

我有一个关于运行GUI的问题.我很遗憾地运行Chrome操作系统,这意味着我无法使用和运行在线IDE中的代码.我想知道是否可以从在线IDE运行诸如Tkinter或wxWidgets之类的GUI包?有什么办法吗?我经常使用的主要IDE是Cloud 9.

python user-interface wxwidgets wxpython tkinter

7
推荐指数
1
解决办法
6189
查看次数

PyInstaller文件很大

我使用wxPython制作了简单的代码编辑器.文件大小(python文件)是1.3 KB.但是当我使用PyInstaller创建可执行文件时,我得到30 MB的文件!有没有办法减少文件大小?顺便说一句,我不是导入整个wx库,只导入我需要的组件(ex from wx import Frame).

使用Linux,Fedora 18 64bit.

python size wxpython file pyinstaller

7
推荐指数
1
解决办法
8497
查看次数

WxPython:PyInstaller失败,没有名为_core_的模块

我正在使用PyInstaller将我的wxpython(3.0.2.0)应用程序转换为二进制文件.在Ubuntu 12.04上构建和执行时,二进制文件工作正常.但是,如果我在Ubuntu 14.04上构建,我会收到以下错误.(当我直接启动python脚本即使在Ubuntu 14.04中的python my_application.py时,应用程序也能正常工作).知道在使用PyInstaller打包应用程序时可能会遗漏什么?

$ ./my_application 
Traceback (most recent call last):
  File "<string>", line 22, in <module>
  File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyi_importers.py", line 270, in load_module
    exec(bytecode, module.__dict__)
  File "/local/workspace/my_application/out00-PYZ.pyz/wx", line 45, in <module>
  File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyi_importers.py", line 270, in load_module
    exec(bytecode, module.__dict__)
  File "/local/workspace/my_application/out00-PYZ.pyz/wx._core", line 4, in <module>
**ImportError: No module named _core_**
Run Code Online (Sandbox Code Playgroud)

我的PyInstaller规范文件如下所示:

...
pyz = PYZ(a.pure)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='my_application',
          debug=False,
          onefile = True,
          strip=None,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=None,
               upx=True,
               name='my_application')
Run Code Online (Sandbox Code Playgroud)

python ubuntu wxpython pyinstaller ubuntu-14.04

7
推荐指数
1
解决办法
3263
查看次数

wxPython 需要什么才能成功运行?

我正在尝试让 wxPython 在pyenv基于virtualenvvirtualenvwrapper插件的基于虚拟环境中工作在MacOS 上。我已经阅读了几个关于如何完成这项工作的问题,但大多数答案似乎都假设我使用的是系统 python 版本,和/或只解决了一个损坏设置的一个方面。我还没有看到任何解释 wxPython 在启动时检查什么的内容。

我有 pyenv 编译的 python 3.7 与--enable-framework.

env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.7.4
Run Code Online (Sandbox Code Playgroud)

pyenv 它本身是从 git 中最近(在过去几周内)拉取的,安装在我的 homedir 中。

需要明确的是,我的 Python 工具链中的任何工具或库都不是 Homebrew 安装的。

我的 virtualenv 可以通过--system-site-packages. 据推测,访问框架和显示是 wxPython 工作所需的全部内容,但在任何测试应用程序启动时,我仍然遇到相同的错误:

该程序需要访问屏幕。请使用 Python 的框架版本运行,并且仅当您在 Mac 的主显示屏上登录时才运行。

在我看来,我应该需要的一切都可用。

% pyenv which python3.7
/Users/matt/.pyenv/versions/3.7.4/bin/python3.7

% mkvirtualenv --system-site-packages --python python3.7 wxtest
Running virtualenv with interpreter /Users/matt/.pyenv/shims/python3.7
Already using interpreter /Users/matt/.pyenv/versions/3.7.4/Python.framework/Versions/3.7/bin/python3.7
Using base prefix '/Users/matt/.pyenv/versions/3.7.4/Python.framework/Versions/3.7'
New python executable in …
Run Code Online (Sandbox Code Playgroud)

macos wxpython python-3.x pyenv

7
推荐指数
1
解决办法
460
查看次数