wxpython 按钮跳notebook_按钮按下wxpython刷新窗口
我一直在用我的Python程序遇到一些麻烦。基本上,它是一个非常非常简单的文件管理器。
我一直试图让它在文件夹之间移动(用户单击一个文件夹,程序刷新显示并显示文件夹的内容)。
我遇到的问题是,我似乎无法让按钮刷新显示,然后在单击时用新文件夹和文件填充它。
这是我使用的代码,它在Linux上。
import wx
import fileBrowser
class interface(wx.Frame):
def __init__(self, parent, id):
'''(object, int) --> None
Set up wx python in a frame and displays it and contents defined in this function on the screen.'''
wx.Frame.__init__(self, parent, id, "Bronto", size = (800, 600))
panel = wx.Panel(self)
self.createPanels()
contents = fileBrowser.print_items("/")
wx.StaticText(panel, -1, "/", (50, 10))
col = 50
row = 50
for items in contents:
name = items
col, row = self.makeIcons(panel, (800, 600), name, col, row)
def makeIcons(self, panel, param, name, col, row):
'''(object, object) --> None
Place a button on the window that uses an image as its icon.'''
pic = wx.Image("folder.png", wx.BITMAP_TYPE_PNG).ConvertToBitmap()
self.button = wx.BitmapButton(panel, -1, pic, pos = (col, row))
wx.StaticText(panel, -1, name, (col + 10, row + 40))
self.Bind(wx.EVT_BUTTON, self.displayContents, self.button)
self.button.SetDefault()
if(col < 600):
return col + 90, row
else:
col = 50
return col, row + 80
def createPanels(self):
'''(object) --> None
Create and place both menu and status bars on the window.'''
status = self.CreateStatusBar()
menubar = wx.MenuBar()
File = wx.Menu()
Edit = wx.Menu()
menubar.Append(File,"File")
menubar.Append(Edit, "Edit")
new = wx.MenuItem(File, 101, '&New\tCtrl+N', 'Creates a new document')
File.AppendItem(new)
self.Bind(wx.EVT_MENU, self.NewApplication, id=101)
self.SetMenuBar(menubar)
def NewApplication(self, event):
app = wx.PySimpleApp()
frame = interface(parent = None, id =1)
frame.Show()
app.MainLoop()
def displayContents(self, event):
'''(event) --> None
Display the contents of the folder clicked on'''
#self.panel.Destroy();
#self.panel = wx.Panel(self)
self.Refresh(True)
contents = fileBrowser.print_items("/home")
col = 50
row = 50
for items in contents:
name = items
wx.Yield()
col, row = self.makeIcons(panel, (800, 600), name, col, row)
if __name__ == "__main__":
app = wx.PySimpleApp()
frame = interface(parent = None, id =1)
frame.Show()
app.MainLoop()这里是fileBrower程序(目前我只查看文件夹,但稍后会更改)
import os
import os.path
def print_items(d):
'''(str) -> NoneType
Print the list of files and directories in directory d, recursively,
prefixing each with indentation.'''
icons = []
#print out the names of files and subdirectories
for filename in os.listdir(d):
subitem = os.path.join(d, filename)
if os.path.isdir(subitem):
print filename
icons.append(filename)
return icons@pthonm:我添加了你建议的代码,但它似乎没有用新的东西更新它(它确实清除了窗口)
编辑:好吧,我几乎有它的工作。我可以通过使用self.Refresh(True)来显示内容,但只有在不使用self.panel.Destroy()方法时才能使用。所以,关于如何摆脱按钮和文本的任何建议(请参阅我添加的displayContents方法)?
编辑2:我得到它的工作。我所做的是,我将其添加到我的displayContents方法。这可能不是这样做的最好方法。
def displayContents(self, event):
'''(event) --> None
Display the contents of the folder clicked on'''
self.panel.Destroy();
self.panel = wx.Panel(self)
self.createPanels()
self.Update()
wx.StaticText(self.panel, -1, location, (50, 10))
contents = fileBrowser.print_items("/home/gum/Documents")
col = 50
row = 50
for directory,name in contents.iteritems():
col, row = self.makeIcons(self.panel, (800, 600), name, col, row)
wxpython 按钮跳notebook_按钮按下wxpython刷新窗口相关推荐
- Material Design【Android-Toolbar,滑动菜单,悬浮按钮,卡片布局,下拉刷新和可折叠式标题栏及案例】
文章目录 Material Design--界面设计 1.Toolbar,标题栏 2.滑动菜单 3.悬浮按钮和可交互提示 4.卡片布局 5.下拉刷新 6.可折叠式标题栏 Material Design ...
- html下拉刷新原理,微信小程序 下拉刷新及上拉加载原理解析
这篇文章主要介绍了微信小程序 下拉刷新及上拉加载实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.下拉刷新的概念及应用场景. 概念: 下拉 ...
- 微信小程序页面事件 - 下拉刷新与上拉触底
一.下拉刷新 1.概念:下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为. 2. 启用下拉刷新 启用下拉刷新有两种方式: ①全局开启下拉刷新 在 app.j ...
- 【微信小程序】实现下拉刷新和上拉触底加载更多数据的页面事件
1.下拉刷新事件 1. 什么是下拉刷新 下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为 2. 启用下拉刷新 启用下拉刷新有两种方式: ① 全局开启下拉刷新 ...
- 【微信小程序】-—下拉刷新、上拉触底事件详细讲解
1.页面事件–下拉刷新事件 1.1什么是下拉刷新 下拉式移动端的专有名词,指的是通过手指子在屏幕上的下拉滑动操作,从而重新加载页面数据 2.启动下拉刷新 (1)方法一:全局开启下拉刷新 在app.js ...
- asp登录页面跳转到注册页面_Java 添加页面跳转按钮到PDF文档
概述 当我们在查阅含有大量页面的PDF时,可通过在页面上添加跳转按钮来实现页面转换,以达到节约时间,提高效率的目的.本文将通过Java程序来演示如何给PDF文档添加页面跳转按钮.通常来说跳转可分为两种 ...
- datatables 添加时间按钮_Java 添加页面跳转按钮到PDF文档
概述 当我们在查阅含有大量页面的PDF时,可通过在页面上添加跳转按钮来实现页面转换,以达到节约时间,提高效率的目的.本文将通过Java程序来演示如何给PDF文档添加页面跳转按钮.通常来说跳转可分为两种 ...
- Android studio实现多个按钮跳转多个页面
Android studio实现多个按钮跳转多个页面 Android studio通过多个按钮实现多个页面的跳转 要求下一个页面有音频.图片.单选按钮(RadioGroup)和复选框(CheckBox ...
- vue h5网页点击按钮 -- 跳到微信小程序 wx-open-launch-weapp;onMenuShareAppMessage 分享图片不显示,且方法已废弃
h5网页点击按钮,唤醒微信小程序是否可以做? 可以!!,就是有点限制. 通过wx-open-launch-weapp就可以实现,但是限制 微信服务号才可以使用.也就是说必须是微信环境下. 文章最下边, ...
最新文章
- Android Studio自定义模板代码
- Android点击事件之多点触摸与手势识别
- 逻辑智力题【更新中】
- 2mysql_2.Mysql常用命令行大全
- 【Python】Python中对目录路径的要求
- 160 - 51 DueList.6
- 公网访问阿里云数据库MongoDB——填坑笔记
- Ansible-playbook 学习
- 高性能的MySQL(5)索引策略一聚簇索引
- 谷歌浏览器js报错:Uncaught (in promise) DOMException
- c语言程序结课编程报告,C语言程序分析报告课程标准.doc
- java IEnumerator_获取实现接口的所有类型
- BZOJ3639 Query on a tree VII
- 数值运算pythonmopn_python – 计算每列的Pandas DataFrame的自相关性
- STATUS of v$archive_dest的一些情况
- bzoj4399 魔法少女LJJ
- 软件系统产品线特征及构建过程
- OkHttp3——连接池
- 2017百度前端技术学院习题-05
- 个人喜欢的歌曲——女生篇
热门文章
- 在 SAP Business Application Studio 里访问 SAP HANA Cloud 实例
- Angular 项目 tsconfig.json 里定义的 out-tsc 还有作用吗?
- SAP Spartacus organization unit list抬头显示所有unit的标题实现
- 在jasmine beforeEach里修改UI元素的一个side effect
- 记一次SAP开发工程师给微软Azure报incident的体验
- Note Navigation incident local change
- SAP CRM代码对数据库表COMM_PRODUCT的读写访问情况明细统计
- ODataModel.submitBatch by default Asynchronous
- SAP Leonardo机器学习如何获取模型存储的实际地址
- Equipment download - No data contained in BDoc