aszchong 2023-02-05 22:49 采纳率: 66.7%
浏览 20
已结题

关于python 类中一个函数获取另一个函数中变量的实时值的问题。

我用python 和pyside6(qt)写了一个图形界面,主要用来操作界面中的表格。
在一个类中调用界面,类中的函数对表格进行操作

class Widget(QWidget, Ui_Form):  
    def __init__(self):  
        super().__init__() 
        self.setupUi(self)  

      def table(self):
        old = update()
        h = 10  # 行,居中为10
        l = 0  # 列,起始
        while True: 
            new = update()
            if new[ > old:  
                self.bg.item(h, l).setBackground(QtGui.QColor(34, 139, 34))  # 将对应位置设置为绿色
            elif new < old:
                self.bg.item(h, l).setBackground(QtGui.QColor(227, 23, 13))  # 将最对应位置设置为红色
          old = new  # 更新旧标志
                l += 1  # 列右移动
            sleep(1.2)  


我想通过一个按钮来在当前操作表格块的上方显示特定的文字,这就需要另一个函数获得table函数中行(h)和列(l)的实时值来确定位置,请问如何从类中的另一个函数获取本函数中变量的运行实时值?

def mark(self):
    self.bg.setItem(h - 1, l, QTableWidgetItem('ok'))  # 设置标志


能有简易代码更好,十分感谢!元宵节快乐!

  • 写回答

3条回答 默认 最新

  • Oops_GTC 2023-02-05 23:23
    关注

    可以将行(h)和列(l)作为类的成员变量,然后在 table 函数和另一个函数中共享它们的值。
    例如:

    class Widget(QWidget, Ui_Form):  
        def __init__(self):  
            super().__init__() 
            self.setupUi(self)  
            self.h = 10
            self.l = 0
     
        def table(self):
            old = update()
            while True: 
                new = update()
                if new > old:  
                    self.bg.item(self.h, self.l).setBackground(QtGui.QColor(34, 139, 34))  # 将对应位置设置为绿色
                elif new < old:
                    self.bg.item(self.h, self.l).setBackground(QtGui.QColor(227, 23, 13))  # 将最对应位置设置为红色
                old = new  # 更新旧标志
                self.l += 1  # 列右移动
                sleep(1.2)  
     
        def another_function(self):
            # 获取 table 函数中行(h)和列(l)的实时值
            position_text = f"Row: {self.h}, Column: {self.l}"
            # 显示文字
            self.text_label.setText(position_text)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月14日
  • 已采纳回答 2月6日
  • 创建了问题 2月5日

悬赏问题

  • ¥15 halcon DrawRegion 提示错误
  • ¥15 FastAPI Uvicorn启动显示404
  • ¥15 centos7.9脚本,怎么排除特定的访问记录
  • ¥15 关于#Django#的问题:我的静态文件呢?
  • ¥15 关于CPLEX的问题,请专家解答
  • ¥15 cocos的点击事件 怎么穿透到 原生fragment上。
  • ¥20 基于相关估计的TDOA算法中的加权最小二乘拟合法matlab仿真
  • ¥20 基于相关估计的TDOA算法中的自适应加权广义互相关法。
  • ¥15 abaqus CAE 2024软件启动问题
  • ¥20 基于相关估计的TDOA算法中的局部互相关函数滤波matlab仿真