相关疑难解决方法(0)

在Python中开发GUI:Tkinter与PyQt

如果有人想在Python中开发一个用户界面,那么应该选择哪一个:TkInter或PyQt?

我刚开始使用TkInter,我能够使用标签,按钮,文本框等基本小部件来获得一些简单的UI.只是想知道PyQt与TkInter相比有多好?

干杯

python user-interface tkinter pyqt

86
推荐指数
4
解决办法
10万
查看次数

Tkinter:如何在画布窗口中获取框架以扩展到画布的大小?

所以我一直在使用tkinter中的canvas小部件来创建一个带有滚动条的标签框架.一切都很好,除了框架只扩展到放置在其中的标签的大小 - 我希望框架扩展到父画布的大小.

如果我在画布中使用pack(expand = True)(我已经在下面的代码中注释掉了),但是滚动条不起作用,这很容易就可以完成.

这是适当的代码:

        self.canvas = Canvas(frame, bg = 'pink')
        self.canvas.pack(side = RIGHT, fill = BOTH, expand = True)

        self.mailbox_frame = Frame(self.canvas, bg = 'purple')

        self.canvas.create_window((0,0),window=self.mailbox_frame, anchor = NW)

        #self.mailbox_frame.pack(side = LEFT, fill = BOTH, expand = True)

        mail_scroll = Scrollbar(self.canvas, orient = "vertical", 
            command = self.canvas.yview)
        mail_scroll.pack(side = RIGHT, fill = Y)

        self.canvas.config(yscrollcommand = mail_scroll.set)

        self.mailbox_frame.bind("<Configure>", self.OnFrameConfigure)


    def OnFrameConfigure(self, event):
        self.canvas.configure(scrollregion=self.canvas.bbox("all"))
Run Code Online (Sandbox Code Playgroud)

我还提供了带彩色框架的图像,这样你就可以看到我所得到的东西.粉红色区域是需要通过mailbox_frame填充的画布(您可以看到右侧的滚动条):

谢谢

python tkinter python-3.x tkinter-canvas

15
推荐指数
2
解决办法
1万
查看次数

Tkinter、Python 中框架的垂直滚动条

我的目标是让滚动条停留在全屏窗口的右侧,允许用户上下滚动各种不同的小部件(例如标签和按钮)。从我在本网站上看到的其他答案中,我得出的结论是,必须将滚动条分配给画布才能使其正常运行,我曾尝试将其包含在我的代码中,但没有太多成功与。

下面的代码显示了我迄今为止设法完成的简化版本:

from tkinter import *
root = Tk()
root.state("zoomed")
root.title("Vertical Scrollbar")
frame = Frame(root)
canvas = Canvas(frame)
Label(canvas, text = "Test text 1\nTest text 2\nTest text 3\nTest text 4\nTest text 5\nTest text 6\nTest text 7\nTest text 8\nTest text 9", font = "-size 100").pack()
scrollbar = Scrollbar(frame)
scrollbar.pack(side = RIGHT, fill = Y)
canvas.configure(yscrollcommand = scrollbar.set)
canvas.pack()
frame.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

运行此代码时,我面临两个问题:

一种是滚动条处于非活动状态,并且不允许用户向下滚动以查看文本的其余部分。

另一种是滚动条附加在文本的右侧,而不是窗口的右侧。

到目前为止,我在这个站点上找到的其他答案都没有使我能够修改我的代码以支持我的程序的全功能滚动条。我将非常感谢阅读本文的任何人可以提供的任何帮助。

python tkinter scrollbar python-3.x tkinter-canvas

7
推荐指数
1
解决办法
4万
查看次数