python画图窗口显示在运行窗口下面咋回事

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python画图窗口显示在运行窗口下面咋回事相关的知识,希望对你有一定的参考价值。

参考技术A 方法不对。
pycharm从2017.3版之后,将matplotlib的绘图的结果默认显示在SciView窗口中,而不是弹出独立的窗口。
Python是一种跨平台的计算机程序设计语言是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发Python的应用领域还是非常广泛的,因为Python是一种解释型脚本语言,所以可以应用的领域就非常的丰富,比如:Web和Internet开发,科学计算和统计,人工智能,桌面界面开发,软件开发,后端开发。

使用 python tkinter 在单独的窗口中显示 pdf

【中文标题】使用 python tkinter 在单独的窗口中显示 pdf【英文标题】:display pdf in sepearate window with python tkinter 【发布时间】:2021-10-22 20:26:30 【问题描述】:

我有一个函数检查 tkinter 列表框元素是否为 pdf 文件。如果是这样,它应该通过“ShowPdf”在新窗口中显示。我只想查看我选择的一个 pdf。

使用该功能一次就可以了。但是,如果我切换到另一个列表框元素并再次运行该函数,则第一次运行和第二次运行的 pdf 将排列在彼此后面。所以我首先看到的是第一次运行的 pdf,然后是第二次运行的 pdf。如果我第三次运行它,那么所有三个 pdf 都排在后面等等。

您能帮我只显示当前的 pdf 吗?

import tkinter as tk
from tkPDFViewer import tkPDFViewer as pdf

def OnEntryLeft(event):
    cur_file=listb.get(listb.curselection())
    if (cur_file[-4:]==".pdf" or cur_file[-4:]==".PDF"):
        newWindow = tk.Toplevel(root)
        pdf.ShowPdf().pdf_view(newWindow,pdf_location=cur_file,width=75,height=100).pack()
    else:
        messagebox.showinfo("PDF-Check", "NO pdf")

【问题讨论】:

您可以尝试使用Toplevel windows 拥有的lift() 和/或lower() 方法来控制它们的堆叠顺序。这是一些documentation。 【参考方案1】:

如果您查看tkPDFViwer 的源代码,您会注意到ShowPdf 使用类变量img_object_li(类型list)来存储从PDF 文件加载的页面。因此ShowPdf.img_object_li 将保存来自ShowPdf 实例的所有页面。我认为这是一个设计错误。

您需要在加载 PDF 文件之前清除列表:

pdf.ShowPdf.img_object_li.clear() # clear loaded pages
pdf.ShowPdf().pdf_view(newWindow,pdf_location=cur_file,width=75,height=100).pack()

【讨论】:

@JMlevel:见How does accepting an answer work?

以上是关于python画图窗口显示在运行窗口下面咋回事的主要内容,如果未能解决你的问题,请参考以下文章

PyCharm 如何设置SciView工具窗口Pycharm运行python程序画图不能显示Pycharm SciView Plots 显示不了图片imshow和show()区别

在客户端用cmd窗口telnet连接到远程linux,启动weblogic,闭客户端cmd窗口后,远程weblogic也会停掉,咋回事?

电脑连不上网了 没有运行windows无线服务咋回事

运行python程序turtle画图,cmd的方式,画完成之后图形窗口会自动关闭。同样的程序在 IDEL中不会

在ubuntu下用apt-get install命令安装不了软件是咋回事

keil调试程序下面的窗口叉掉不见了咋两个放在一起