首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将pyqt与Python绘图集成

如何将pyqt与Python绘图集成
EN

Stack Overflow用户
提问于 2022-05-01 14:03:06
回答 1查看 66关注 0票数 0

我是一个在韩国学习编程的学生。我目前正在创建一个pyqt流程图,但它没有连接。如果我的代码有问题,请告诉我。谢谢。

这是我第一次在这里发帖,我就是这么做的吗?

안녕하세요현재Qtpy와示意图을연동하고싶은데,안되어물어봅니다。처음하는거라서어떻게할지고민끝에연락드립니다。혹시어떻게하는지알려주실수있나요?

我的代码:

代码语言:javascript
复制
import sys
import schemdraw
from schemdraw import flow
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QWidget, QToolTip, QPushButton, QApplication


def print_hi(name):
    print(f'Hi, {name}')


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        d = schemdraw.Drawing()
        d.add(flow.Start(w=2, h=2, label="START"))
        d.add(flow.Arrow('down', l=2, color='a'))
        cond1 = d.add(flow.Decision(S="No", E="YES", label="b"))

        d.add(flow.Arrow('down', xy=cond1.S, l=2))
        cond2 = d.add(flow.Decision(W="No", E="Yes", label="c"))

        d.add(flow.Line('left', xy=cond2.W, l=1))
        d.add(flow.Arrow('down', l=2))
        d.add(flow.Box(label="d"))

        d.add(flow.Line('right', xy=cond2.E, l=1))
        d.add(flow.Arrow('down', l=2))
        box = d.add(flow.Box(label="e"))
        d.add(flow.Arrow('left', xy=box.W, l=3))

        d.add(flow.Line('right', xy=cond1.E, l=5, color='red'))
        d.add(flow.Arrow('down', l=1, color='red'))
        cond3 = d.add(flow.Decision(S="No", E="Yes", label="f"))

        d.add(flow.Arrow('down', xy=cond3.S, l=3))
        d.add(flow.Box(label="g"))

        d.add(flow.Line('right', xy=cond3.E, l=2, color='red'))
        d.add(flow.Arrow('down', l=4, color='red'))
        d.add(flow.Box(label="h", color='red'))

        QToolTip.setFont(QFont('SansSerif', 10))

        self.setToolTip('This is <b>Qwidget</b> a widget')
        btn = QPushButton('Button', self)
        btn.setToolTip("This is a <b>QPushButton</b> widget")
        btn.resize(btn.sizeHint())
        btn.move(50, 50)

        self.setGeometry(300, 300, 300, 300)
        self.setWindowTitle('ToolTips')
        self.show()

    enter code here

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
EN

回答 1

Stack Overflow用户

发布于 2022-05-01 22:48:02

您需要告诉Qt以某种方式使用示意图映像。一种方法是创建一个QPixmap,用PNG格式的示意图图像加载它,并将该QPixmap添加到QLabel中:

代码语言:javascript
复制
    image = QPixmap()
    image.loadFromData(d.get_imagedata('png'))
    label = QLabel(self)
    label.setPixmap(image)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72077403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档