wxpython设计GUI:grid控件中怎么实现点击单元格字体打开相应的链接窗口

2022/2/1 20:13:37

本文主要是介绍wxpython设计GUI:grid控件中怎么实现点击单元格字体打开相应的链接窗口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用wxpython设计GUI界面,需要实现通过鼠标点击grid表格中第一列单元格显示的单号能够自动跳出该单号的信息编辑界面。

百度了好多篇文章,思路来源主要参考以下几篇文章:

wxPython做GUI:如何在Grid中响应鼠标移动事件

在wx.grid中鼠标悬停在单元格上时的工具提示消息

如何在wxpython中的wx.grid中右键单击以获取选定范围的值?

wxPython in Action ( 网格(grid)控件7)

在这里插入图片描述

代码实现:

 # 控制点击单号触发打开相应的单号编辑窗口事件
        self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnSelectCell, self.m_grid1)

    def OnSelectCell(self, event):
        row = event.GetRow()
        column = event.GetCol()
        if column == 0:
            self.m_grid1.SetCellEditor(row, 0, wx.grid.GridCellEditor.GetWindow(self.UpdateUI(4)))
        event.Skip()

思路讲解:

创建针对grid单元格的双击鼠标左键触发事件函数OnSelectCell(),并且限制鼠标双击事件的单元格对象只能是grid的第一列,主要使用了grid的SetCellEditor方法实现选中单元格之后打开对应的另外一个界面。
在这里插入图片描述

https://docs.wxpython.org/wx.grid.GridCellEditor.html#wx.grid.GridCellEditor
在这里插入图片描述

在这里插入图片描述
虽然会提示如下报错信息,但是功能是ok的,能够实现鼠标左键双击单号打开相应的编辑界面,报错信息如下:self.m_grid1.SetCellEditor(row, 0, wx.grid.GridCellEditor.GetWindow(self.UpdateUI(4)))
TypeError: GridCellEditor.GetWindow(): first argument of unbound method must have type ‘GridCellEditor’

实现在不同的界面之间跳转主要参考以下文章的代码逻辑:wxPython实现Frame之间的跳转/更新的一种方法

主要参考文章中的guiManager.py设置GuiManager类来管理不同的界面,通过设置type来确定跳转到哪个界面。
在这里插入图片描述



这篇关于wxpython设计GUI:grid控件中怎么实现点击单元格字体打开相应的链接窗口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程