Python PyQt5.QtWidgets导致tkinter输入行中出现退格问题

Python PyQt5.QtWidgets导致tkinter输入行中出现退格问题,python,Python,我已经试着找到我问题的答案,但没有成功 我第一次尝试在Python3.6上使用带有tkinter的GUI 我为您创建了一个小示例: import tkinter as tk import PyQt5.QtWidgets RateFenstergrossh=0.75 RateFenstergrossb=0.75 app = PyQt5.QtWidgets.QApplication([]) # the bug doesn't occur without this line screen_wi

我已经试着找到我问题的答案,但没有成功

我第一次尝试在Python3.6上使用带有tkinter的GUI

我为您创建了一个小示例:

import tkinter as tk
import PyQt5.QtWidgets

RateFenstergrossh=0.75
RateFenstergrossb=0.75

app = PyQt5.QtWidgets.QApplication([])  # the bug doesn't occur without this line 
screen_width = app.desktop().screenGeometry().width()
screen_height = app.desktop().screenGeometry().height()

def vp_start_gui():
    global root
    root = tk.Tk()
    top = Toplevel1(root)
    root.mainloop()

class Toplevel1:
    def __init__(self, top=None):
        top.geometry("+%d+%d"%(screen_width/2 - screen_width*RateFenstergrossb/2, screen_height/2 - screen_height*RateFenstergrossh/2))

        self.Entry = tk.Entry(top)
        self.Entry.pack(padx=20,pady=20)

if __name__ == '__main__':
    vp_start_gui()
如果您键入一些字符并尝试使用退格删除它们,则输入行中将出现一个小矩形。如果打印此字符,程序将打印。如果我不使用包
import PyQt5.qtwidts
和函数
PyQt5.qtwidts.QApplication([])
则不会发生错误


我真的不明白这个错误。也许有人能帮我解决这个问题。

多亏了这两条评论。我学会了永远不要混合tkinter和PyQt。我的解决办法是现在

import tkinter as tk

RateFenstergrossh=0.75
RateFenstergrossb=0.75

def vp_start_gui():
    global root
    root = tk.Tk()
    screen_width = root.winfo_screenwidth()
    screen_height = root.winfo_screenheight()
    top = Toplevel1(root)
    root.mainloop()

class Toplevel1:
    def __init__(self, top=None):
        top.geometry("+%d+%d"%(screen_width/2 - screen_width*RateFenstergrossb/2, screen_height/2 - screen_height*RateFenstergrossh/2))

        self.Entry = tk.Entry(top)
        self.Entry.pack(padx=20,pady=20)

if __name__ == '__main__':
    vp_start_gui()
解决方案:我必须用电脑阅读屏幕大小

screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()

为什么要在一个程序中同时使用Tkinter和Qt?这是两种完全不同的编写GUI的方法。“不要使用PyQt5…错误不会发生。”:这就是不这样做的原因。你为什么选择混合这两个模块?我尝试了这个方法,因为我发现这个方法可以使窗口居中。也许如果你理解这个问题,你知道一个更好的方法可以使窗口在屏幕上居中,或者在没有PyQt5的情况下读取屏幕大小