Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python实现可视化的漂亮工具_Python_Pyqt_Pyside - Fatal编程技术网

用Python实现可视化的漂亮工具

用Python实现可视化的漂亮工具,python,pyqt,pyside,Python,Pyqt,Pyside,我想编写e-learning应用程序,负责排序算法的可视化和测试有效性。我将使用Python和PySide(PyQt),但最好使用任何漂亮的util来实现这一简单的可视化。 此可视化的目的是显示排序算法的工作步骤。 你知道用Python制作简单的可视化、动画的漂亮实用工具吗? 也许PySide与可视化有关?PySide只是Qt的一个薄薄的包装,Qt没有任何内置的算法可视化支持。它是为构建传统的GUI而设计的,即充满文本框或滑块等小部件的窗口 您可以通过将每个可视化对象表示为小部件并手动移动小部件

我想编写e-learning应用程序,负责排序算法的可视化和测试有效性。我将使用Python和PySide(PyQt),但最好使用任何漂亮的util来实现这一简单的可视化。 此可视化的目的是显示排序算法的工作步骤。

你知道用Python制作简单的可视化、动画的漂亮实用工具吗?
也许PySide与可视化有关?

PySide只是Qt的一个薄薄的包装,Qt没有任何内置的算法可视化支持。它是为构建传统的GUI而设计的,即充满文本框或滑块等小部件的窗口

您可以通过将每个可视化对象表示为小部件并手动移动小部件来设置Qt的动画,也可以只创建空白画布并在顶部绘制动画,但无论如何,Qt对您并没有多大帮助

像PyGame这样的面向游戏的库可能更合适,您可以将每个对象表示为精灵,并使用精灵动画工具


或者您可以寻找可视化库而不是通用GUI库。

PySide只是Qt的一个薄薄包装,Qt没有任何内置的算法可视化支持。它是为构建传统的GUI而设计的,即充满文本框或滑块等小部件的窗口

您可以通过将每个可视化对象表示为小部件并手动移动小部件来设置Qt的动画,也可以只创建空白画布并在顶部绘制动画,但无论如何,Qt对您并没有多大帮助

像PyGame这样的面向游戏的库可能更合适,您可以将每个对象表示为精灵,并使用精灵动画工具

或者,您可以寻找可视化库而不是通用GUI库。

您可以使用可视化库及其动画功能:

import matplotlib.pyplot as plt
import matplotlib.animation as animation

random_list = [10,3,5,4,9,1,6,7,2,8]

def bubble_sort():
    data = random_list
    for i in range(len(data)-1):
        for j in range(i, len(data)-1):
            a, b = data[j], data[j+1]
            if a > b:
                data[j], data[j+1] = b, a
                yield data

fig = plt.figure()
ax = fig.add_subplot(111)
def update(data):
    ax.clear()
    ax.hlines(range(len(data)), 0, data, 'red')
    ax.set_ylim(-0.5, 9.5)
update(random_list)

ani = animation.FuncAnimation(fig, update, bubble_sort, interval=250)
plt.show()
您只需更改
bubble\u sort()
即可实现其他算法,并在每次迭代时生成要绘制的数字列表

matplotlib也可以,但我没有测试它。

您可以使用它的动画功能:

import matplotlib.pyplot as plt
import matplotlib.animation as animation

random_list = [10,3,5,4,9,1,6,7,2,8]

def bubble_sort():
    data = random_list
    for i in range(len(data)-1):
        for j in range(i, len(data)-1):
            a, b = data[j], data[j+1]
            if a > b:
                data[j], data[j+1] = b, a
                yield data

fig = plt.figure()
ax = fig.add_subplot(111)
def update(data):
    ax.clear()
    ax.hlines(range(len(data)), 0, data, 'red')
    ax.set_ylim(-0.5, 9.5)
update(random_list)

ani = animation.FuncAnimation(fig, update, bubble_sort, interval=250)
plt.show()
您只需更改
bubble\u sort()
即可实现其他算法,并在每次迭代时生成要绘制的数字列表


matplotlib也可以,但我没有测试它。

Qt允许您以两种不同的方式创建UI:

  • 基于小部件,这允许您使用静态UI(QPushButton、QTextEdit等)创建常规应用程序。使用这些UI组件制作动画可能会很麻烦

  • 声明式UI,我们使用QML(Qt元语言)创建动态UI(具有大量动画/转换的UI)。看看

  • QML允许您快速创建UI,并轻松设置其动画。您可以在PySide中使用QDeclarativeView在应用程序中加载和显示QML


    您可以通过QObject的信号槽机制或属性将数据(数字列表)从Python公开到QML。在中可以找到许多示例。

    Qt允许您以两种不同的方式创建UI:

  • 基于小部件,这允许您使用静态UI(QPushButton、QTextEdit等)创建常规应用程序。使用这些UI组件制作动画可能会很麻烦

  • 声明式UI,我们使用QML(Qt元语言)创建动态UI(具有大量动画/转换的UI)。看看

  • QML允许您快速创建UI,并轻松设置其动画。您可以在PySide中使用QDeclarativeView在应用程序中加载和显示QML


    您可以通过QObject的信号槽机制或属性将数据(数字列表)从Python公开到QML。在中可以找到许多示例。

    我尝试安装matplotlib(使用easy#u install)#1和#2,但安装失败,您知道吗?我尝试安装matplotlib(使用easy#u install)#1和#2,但安装失败,你知道吗?虽然Qt有动画设备。虽然Qt有动画设备。