Wxpython 在主机启动时显示对话框

2023-11-29

我是一个使用 python 和 wxpython 的新人。我在主机启动后显示登录表单对话框时遇到问题,例如这张照片

所以如果用户没有登录,主机就无法访问。如果用户单击关闭/关闭按钮,它也会关闭主框架。请给我一个示例代码:)


import wx
from wx.lib import sized_controls


class MainFrame(sized_controls.SizedFrame):

    def __init__(self, *args, **kwargs):
        super(MainFrame, self).__init__(*args, **kwargs)
        self.SetTitle('MainFrame')
        pane = self.GetContentsPane()
        wx.Button(pane, label='No access until logged in')
        self.SetInitialSize((400, 400))


class LoginFrame(sized_controls.SizedDialog):

    def __init__(self, *args, **kwargs):
        super(LoginFrame, self).__init__(*args, **kwargs)
        self.parent = args[0]
        self.logged_in = False

        pane = self.GetContentsPane()

        pane_form = sized_controls.SizedPanel(pane)
        pane_form.SetSizerType('form')

        label = wx.StaticText(pane_form, label='User Name')
        label.SetSizerProps(halign='right', valign='center')

        self.user_name_ctrl = wx.TextCtrl(pane_form, size=((200, -1)))

        label = wx.StaticText(pane_form, label='Password')
        label.SetSizerProps(halign='right', valign='center')

        self.password_ctrl = wx.TextCtrl(
            pane_form, size=((200, -1)), style=wx.TE_PASSWORD)

        pane_btns = sized_controls.SizedPanel(pane)
        pane_btns.SetSizerType('horizontal')
        pane_btns.SetSizerProps(halign='right')

        login_btn = wx.Button(pane_btns, label='Login')
        login_btn.SetDefault()
        cancel_btn = wx.Button(pane_btns, label='Cancel')
        self.Fit()
        self.SetTitle('Login')
        self.CenterOnParent()
        self.parent.Disable()

        login_btn.Bind(wx.EVT_BUTTON, self.on_btn_login)
        cancel_btn.Bind(wx.EVT_BUTTON, self.on_btn_cancel)
        self.Bind(wx.EVT_CLOSE, self.on_close)

    def on_btn_login(self, event):
        user_name = self.user_name_ctrl.GetValue()
        password = self.password_ctrl.GetValue()
        print 'logged in as {} with password {}'.format(user_name, password)
        self.logged_in = True
        self.Close()

    def on_btn_cancel(self, event):
        self.Close()

    def on_close(self, event):
        if not self.logged_in:
            self.parent.Close()
        self.parent.Enable()
        event.Skip()


if __name__ == '__main__':
    wxapp = wx.App(False)
    parent_frame = MainFrame(None)
    parent_frame.Show()
    login_frame = LoginFrame(parent_frame)
    login_frame.Show()
    wxapp.MainLoop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wxpython 在主机启动时显示对话框 的相关文章

  • 如何在 wxPython ComboBox 中存储字符串以外的对象?

    我有一个 Vertex 对象列表 每个对象都有自己的标签和 ID 我如何使用这个列表作为 wxPython ComboBox 的模型 以便当用户选择一个选项时 我可以立即检索顶点 id 看来 ComboBox 只接受字符串作为模型 我无法创
  • wxPython 文件对话框错误:缺少“|”在通配符字符串中!

    我在Windows7上 使用Python 2 6和wxPython 2 8 10 1 我试图让这个 打开文件 对话框正常工作 但遇到了一个奇怪的错误 对我来说 这看起来像是一个有效的通配符字符串 但每当我选择一个文件并单击 文件 对话框上的
  • wxpython如何退出Mainloop?

    我有一个 wxpython 应用程序 它的运行方式如下 if name main app wx App False frame MainWindow Application frame Show app MainLoop 应用程序的菜单栏上
  • wxPython:wx.PyControl可以包含wx.Sizer吗?

    Can a wx PyControl包含一个wx Sizer 请注意 我最终想要在这里做的事情 具有浮点值的旋转器 已经在另一个问题中得到了回答 我对在 a 中布局小部件特别感兴趣wx PyControl如果我需要制作自己的自定义小部件 这
  • 全屏 Python TKinter 或 wxPython 窗口,但“停留在所有窗口的底部”?

    我想创建一个全屏面板 在视觉上阻止对屏幕上所有内容的访问 Ubuntu 11 10 中的桌面 菜单 Unity 面板等 但位于其他应用程序打开的窗口下方 这主要是为了让笔记本电脑具有儿童防护功能 我希望孩子 4 岁 能够访问一些选定的应用程
  • wxPython ListCtrl 帮助

    我正在使用 ListCtrl 它会动态填充项目 当项目 激活 双击 Enter 时 它会调用一个函数 def onClick self event 由于没有预设 ID 我如何找出列表中的哪个项目被单击 字符串是作为自身还是事件的一部分传递给
  • 将 ffmpeg 与 Python 2.7 结合使用

    我一直尝试在 Python 2 7 中安装 pyffmpeg 但没有成功 我找到了一个 Python 2 6 的包 但我无法让它工作 所以 我一直在考虑2 7 我在这个网站上看过其他人之前的帖子 但他们没有帮助 有人对此有经验吗 最终 我想
  • wx (Python) 小部件的 GUI 更新缓慢?

    考虑这个例子 在 python2 7 Ubuntu 11 04 上尝试过 import wx import wx lib agw knobctrl as KC started from http wxpython org Phoenix d
  • matplotlib navtoolbar 在 wx 2.9 (Mac OS X) 中未实现

    以下代码在 wxPython 2 8 x Python 2 5 4 2 6 Matplotlib 0 99 x 上运行时 按预期在框架顶部生成 matplotlib NavToolbar2 然而 我最近转向了 Python 2 7 和 wx
  • 你明白这个僵局吗?

    我的 GUI 使用 wxPython 在里面AppLogic类我有一个工作线程 它在这个类的方法中运行 这是GUI class class GUI wx app None main window None app logic None de
  • 如何在wxpython中的StaticBitmap上创建悬停效果?

    我想在 StaticBitmap 上创建悬停效果 如果鼠标光标位于位图上 则显示一张图像 如果没有 则显示第二张图像 这是一个简单的程序 与按钮完美配合 但是 StaticBitmap 不会发出 EVT WINDOW ENTER EVT W
  • 系统托盘应用程序如何在其他平台上完成?

    Windows 有一个 系统托盘 其中包含时钟和始终运行的服务 例如 MSN Steam 等 我想开发一个 wxPython 托盘应用程序 但我想知道它移植到其他平台的效果如何 每个平台上的托盘等效项是什么 以及支持 Windows OSX
  • wxPython 最好的实时绘图小部件是什么?

    我想使用 Python 和 wxPython 显示一个包含一条或两条曲线 每秒最多 50 个样本的实时图表 该小部件应支持 Win32 和 Linux 平台 欢迎任何提示 编辑添加 我不需要以 50 fps 更新显示 但需要在两条曲线上显示
  • 如何让wxpython密码textctrl显示字符?

    使用 wxPython 可以将密码字段创建为 wx TextCtrl frm 1 style wx TE PASSWORD 我想知道是否有一种方法可以动态地将这个密码字段更改为普通的文本控件 以便用户可以看到密码是什么 创建控件后无法更改样
  • 调用app.MainLoop()后更新wxPython进度条

    我有一个执行计算的 python 脚本 并且我已经为弹出 wxPython 进度条创建了一个类 目前我有 app wx App progress ProgressBar app MainLoop for i in xrange len to
  • 使用 matplotlib 在 wxpython 面板中组合按键和鼠标按钮事件

    In a wxPython我想使用的面板matplotlib s Lasso http matplotlib org api widgets api html highlight lasso matplotlib widgets Lasso
  • 在 OSX“El Capitan”上安装 wxPython 2.8(用于骑行)

    我正在尝试安装 wxPython 2 8 unicode 版本 以便能够使用 robotsframework ride 到目前为止 从网站下载的安装程序失败 并显示错误 没有可安装的软件 并且使用Brew安装3 0版本 与ride不兼容 我
  • pythonw.exe 没有响应

    我现在已经学习了一点Python2 7 顺便说一句 我使用的是 Windows 7 64 位 我开始学习 GUI 并一直尝试使用 wxpython 和 IDLE 来实现此目的 所以我输入一些代码 import wx app wx App w
  • wxPython:在现有 wx.Panel 上覆盖 wx.Panel 的好方法

    我有一个 wx Frame 其中有一个主 wx Panel 其中有几个小部件 我想要其中的一个按钮来启动 帮助面板 这个帮助面板可能是一个wx Panel 我希望它覆盖整个主wx Panel 不包括wx Frame的菜单栏 帮助按钮上应该有
  • 在wxpython中使用wx.TextCtrl并在按钮单击后显示数据的简单示例 - wx新手

    我正在学习 python 并尝试使用 wxpython 进行 UI 开发 也没有 UI exp 我已经能够创建一个带有面板 按钮和文本输入框的框架 我希望能够在文本框中输入文本 并让程序在单击按钮后对输入框中的文本执行操作 我可以获得一些关

随机推荐

  • 我应该如何从 Selenium Java WebDriver 与 Flash 进行最佳交互

    我知道有很多类似的问题 例如 使用 WebDriver 交互 Flash 元素 过去曾被问到 但目前尚不清楚如何最好地与与 Selenium 的 Java WebDriver 相关的页面上的 Flash 元素进行交互 默认情况下 我知道它不
  • Java MySQL 准备语句批处理

    我正在尝试使用准备好的语句批处理 但遇到问题 以下代码不会给我错误 但它仅在表中插入地图的最后一个键 我不知道为什么 这肯定是一个非常愚蠢的错误 但这是我第一次使用 addBatch 方法 Class forName com mysql j
  • 使用 ScreenCapture.CaptureScreenshot 捕获并保存屏幕截图

    我一直在尝试截取屏幕截图 然后立即使用它来显示某种预览 有时它有效 有时则无效 我目前不在工作 而且我没有统一这台计算机 所以我将尝试即时重新创建它 这里和那里可能存在一些语法错误 public GameObject screenshotP
  • 使用coord_equal()时,使用cowplot::plot_grid()垂直对齐不同高度的图

    我正在尝试使用组合两个 ggplot 对象cowplot plot grid 并垂直对齐它们 这通常非常简单 使用align v dat1 lt data frame x rep 1 10 2 y 1 20 dat2 lt data fra
  • Java - 赋值的左侧必须是变量

    我正在尝试制作一个小程序来定位不同的城市 作为我的第一个 Java 项目 我想从 城市 类访问 GPS 类的变量 但我不断收到此错误 赋值的左侧必须是变量 任何人都可以向我解释我在这里做错了什么以及如何避免将来出现此类错误 public c
  • 在没有软件包的情况下在 python 中实现 Haar 小波

    我正在尝试编写一个代码来实现离散小波变换 haar 小波 dwt 而不使用 python 中的包 到目前为止 我找到了一个链接 他们实现了类似的功能 该链接这个小波变换实现正确吗 运行时没有报错 但最终结果不正确 我运行的代码是 def d
  • 根据所选的货币代码设置货币格式,无论设备的区域设置如何 (Swift)

    我正在尝试根据用户选择的货币来格式化货币 如果未选择货币 则使用设备的当前区域设置进行格式化 但是 我遇到了问题 我正在使用数字格式化程序将双精度格式格式化为货币字符串 let formatter NumberFormatter forma
  • 如何在 Windows 7 中使用 C/C++ 将麦克风静音?

    我使用 WinAPI 编写了一个将麦克风静音的程序 它似乎在 Windows XP 中完美运行 但在 Windows 7 中不起作用 是否可以在 Windows 7 中使用 WinAPI 控制麦克风音量或静音 void setVolume
  • 使用 JS 从 html 表中的第一列搜索值?

    我有这张桌子 th Example No th th Column 1 th tr td 3512376894 td td email protected td tr 我有一个脚本可以按所有列搜索值 但我想做的就是仅使用 td id 按第一
  • python ctypes,通过引用传递双指针

    问题 我正在尝试使用具有以下原型的 C 库中的函数 int glip get backends const char name size t count The name这里的争论就是问题所在 它是一个通过引用传递的二维字符数组 在 C 语
  • 副本集 my-mongo-set 的新配置 1 中描述的主机没有映射到此节点

    我正在使用 Docker 设置 MongoDB 集群 我有一个 bash 脚本 它启动三个共享网桥的容器 以便它们可以相互通信 我可以连接到网络中的所有 MongoDB 数据库 NodeJS 脚本将集群成员添加到网络中 docker rm
  • AngularJS |使用 ng-class 的条件类

    我想将条件类应用于页面上的元素 目前它正在使用以下代码 ng class vfnz form error loginForm username invalid 如果输入字段无效 这将应用无效类 我想申请 valid 用户输入字段有效时的类
  • 使用 XDocument 生成具有多个命名空间的 XML

    我有这样的 XML
  • “connectedAndroidTest”任务成功后运行 gradle 任务 X

    我有一个等级taskX我想追寻的connectedAndroidTest任务完成 但前提是所有测试都通过connectedAndroidTest 我怎样才能做到这一点 你需要利用finalizedBy以及特定任务的状态检查 具体方法如下 t
  • Android 中下载队列中的文件

    如何将队列中的多个文件一一下载 我在用着this作为示例代码 因为 我将传递要从本地数据库动态下载字符串的 URL 请让我知道该怎么做 我希望应用程序启动后立即开始下载 请帮助我 Android 开发类型 新手下载队列的目的 应用内计费成功
  • new Date() 与 Date() 以及为什么它返回不同的时间(-2 小时)?

    我有这 2 个控制台日志 但它们返回的时间不同 2 小时关闭 console log new Date Date 2015 04 20T15 37 23 000Z console log Date Mon Apr 20 2015 17 37
  • Pandas 数据框:使用线性插值重新采样

    我正在尝试获得一种相当基本的重采样方法来处理 pandas 数据框 我的数据框 df 按日期时间条目索引并包含价格 price datetime 2000 08 16 09 29 55 755000 7 302786 2000 08 16
  • 规范化为 3NF(第三范式)时,可以将复合键和/或外键移动到其他表吗

    我的数据库设计目前处于 3NF 问题是外键 在某些情况下是复合键 如果与复合 外键关联的属性不依赖于主键 您是否可以移动复合键和 或外键来创建其他表 我怀疑答案是肯定的 因为这个链接 第三范式中是否包含外键 最佳答案 仅仅因为它是外键并不意
  • Jenkins - 使用curl获取最新的工件

    我一直在四处寻找 但找不到如何使用curl 下载最新的工件 甚至只是知道链接 我发现了永久链接和 api xml json 提要 其中包含所需的所有数据 例如工件名称等 还发现了压缩所有工件的特殊链接 但我的工件已经压缩了 有没有一种方法可
  • Wxpython 在主机启动时显示对话框

    我是一个使用 python 和 wxpython 的新人 我在主机启动后显示登录表单对话框时遇到问题 例如这张照片 所以如果用户没有登录 主机就无法访问 如果用户单击关闭 关闭按钮 它也会关闭主框架 请给我一个示例代码 import wx