StartsSky 2021-07-30 16:16 采纳率: 100%
浏览 27
已结题

pycharm运行报粗,明明有这个变量,她楞说没有!


from PySide6.QtWidgets import *
class Window(QMainWindow):
    def __init__(self):
        super().__init__()
        self.resize(60,60)
        self.move(100,100)
        self.qw = QWidget()
        self.setCentralWidget(self.qw)
        self.mylayout = QHBoxLayout()
        self.qw.setLayout(self.mylayout)
        self.btn1 = QRadioButton('button1')
        self.btn1.toggled.connect(lambda :self.btnSlot(self.btn1))
        self.btn1.setChecked(True)
        self.mylayout.addWidget(self.btn1)
        self.btn2 = QRadioButton('button2')
        self.mylayout.addWidget(self.btn2)
        self.btn2.toggled.connect(lambda :self.btnSlot(self.btn2))
        self.btn3 = QRadioButton('button3')
        self.btn3.toggled.connect(l
ambda :self.btnSlot(self.btn3))
        self.mylayout.addWidget(self.btn3)
        self.stb = QStatusBar()
        self.setStatusBar(self.stb)
        self.stb.showMessage('hhh')
        self.setWindowTitle('wocao')
    def btnSlot(self,btn):
        if btn.text() == 'button1':
            self.stb.showMessage('1')
        elif btn.text() == 'button2':
            self.stb.showMessage('2')
        elif btn.text() == 'button3':
            self.stb.showMessage('3')
if __name__ == "__main__":
    app = QApplication()
    win = Window()
    win.show()
    app.exec()

img

有stb这个变量啊,怎么还是报错,程序可以跑啊,这是咋了啊?

  • 写回答

2条回答 默认 最新

  • python收藏家 2021-07-30 16:57
    关注

    你这个 self.stb = QStatusBar() 要写在 self.btn 前面,你在self.btn3的时候调用了下面的btnSlot 方法,而下面方法在运行时还没有self.stb这个属性

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月7日
  • 已采纳回答 7月30日
  • 创建了问题 7月30日

悬赏问题

  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用