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日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来