sl7226380 2020-10-23 21:39
浏览 110

请问想要点击按钮创建Qlabel,为何创建后无法显示出来.

请问想要点击按钮创建Qlabel,为何创建后无法显示出来.代码如下.

class MiniLED_Tools(QMainWindow,Ui_MiniLED):
    def __init__(self):
        super(MiniLED_Tools, self).__init__()

        self.setupUi(self)
        self.initUI()
        self.labelCreat()

    def initUI(self):
        self.comboBox.addItems(["LED inside","高工LED"])


        # print(self.findChildren(QLabel)[0].text())#findchildren/findchild是一个很重要的Pyqt里的函数,可以查找控件,返回控件list
        # self.pushButton.clicked.connect(self.labelCreat)
        self.pushButton.clicked.connect(self.dataGet_Show)
    def labelCreat(self):
        self.listlabel=[]
        self.days = int(self.lineEdit_days.text())

        for i in range(0, self.days):
            self.label = QLabel(self.scrollAreaWidgetContents)
            if i!=0:
                self.label.setGeometry(QtCore.QRect(self.findChild(QLabel,"lblrst"+str(i-1)).x()+450, 60, 450, 400))
            else:self.label.setGeometry(QtCore.QRect(10, 60, 450, 400))
            font = QtGui.QFont()
            font.setFamily("微软雅黑")
            font.setPointSize(10)
            self.label.setFont(font)
            self.label.setFrameShape(QFrame.Box)
            self.label.setText("")
            self.label.setScaledContents(False)
            self.label.setWordWrap(True)
            self.label.setOpenExternalLinks(True)
            self.label.setObjectName("lblrst" + str(i))
            self.listlabel.append(self.label)
        print(self.listlabel)
    def dataGet_Show(self):
        self.list_date = [self.labeldate_0, self.labeldate_1, self.labeldate_2, self.labeldate_3, self.labeldate_4]
        for i in range(0,len(self.listlabel)):
            self.listlabel[i].clear()

        if self.comboBox.currentText()=="LED inside":
            example1 = spider_ledinside(1, 1, self.days)
        elif self.comboBox.currentText()=="高工LED":
            example1 = spider_ggLED(1, 1, self.days)

        data_LEDinside=example1.spiderContents()
        number=0
        k=1
        for j in range(0,1000):
            date_show=data_LEDinside[j][0]
            url_show=data_LEDinside[j][2]
            title_show=data_LEDinside[j][1]
            # print(date_show)
            date_temp=datetime.datetime.strptime(data_LEDinside[j][0],"%Y-%m-%d")
            curtime = datetime.datetime.now().strftime("%Y-%m-%d")
            date_now = datetime.datetime.strptime(curtime,"%Y-%m-%d")

            if (date_now-date_temp).days-self.days>=0:
                break

            if j==0 or (data_LEDinside[j][0]!=data_LEDinside[j-1][0] and j>0):
                if j==0:
                    number=0

                else:
                    number+=1

                    k=1
                    rst_show = self.listlabel[number].text() +"<p style='margin:1px'>"+str(k)+"." + \
                               '&nbsp; <a href="' + url_show + '">' + title_show +"&nbsp;"\
                               + '</a>' + date_show+ "</p>"
                    self.listlabel[number].setText(rst_show)
                    self.list_date[number].setText(data_LEDinside[j][0])
                    k+=1
            if (data_LEDinside[j][0]==data_LEDinside[j-1][0] and j>0) or j==0:
                rst_show = self.listlabel[number].text() +"<p style='margin:1px'>"+str(k)+"."+ \
                       '&nbsp; <a href="' + url_show + '">' + title_show  +"&nbsp;"+ \
                       '</a>' + date_show + "</p>"
                self.listlabel[number].setText(rst_show)
                self.list_date[number].setText(data_LEDinside[j][0])
                k+=1


if __name__ == '__main__':
    App=QApplication(sys.argv)
    main=MiniLED_Tools()
    main.show()
    sys.exit(App.exec())
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 微信会员卡接入微信支付商户号收款
    • ¥15 如何获取烟草零售终端数据
    • ¥15 数学建模招标中位数问题
    • ¥15 phython路径名过长报错 不知道什么问题
    • ¥15 深度学习中模型转换该怎么实现
    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向
    • ¥15 如何用python向钉钉机器人发送可以放大的图片?