相关疑难解决方法(0)

删除窗口边框?

我有一个窗口,周围有一个坚固的边框.如何使用SetWindowLongGetWindowLong删除边框(所有非客户区域)?

winapi getwindowlong setwindowlong

28
推荐指数
3
解决办法
6万
查看次数

Python/Tkinter:删除没有overrideredirect()的标题栏

我目前正在使用Linux上的Tkinter和Python 2.7,我想知道是否有办法在TK()不使用的情况下删除窗口边框和标题栏overrideredirect(1).

我有自己的关闭按钮,overrideredirect(1)并向我提出了一些我不能接受的问题:

我无法使用attributes("-fullscreen", True)标题栏和边框保留.

python tkinter python-2.7

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

在tkinter窗口中禁用退出(或[X])

我之所以发布此消息,是因为我自己一直在努力寻找有关此问题的明确答案。。。

为了尝试为我的程序创建进度条,我发现使用tkinter很难做到。为了完成创建进度条而没有遇到可怕的“ mainloop”,我选择使用threads从进度条中制作一个类。经过大量的试验,发现一个错误,由于使用多线程(tkinter喜欢在主线程中),因此无法自定义很多内容。这是我尝试过的两个选项,其次是最适合我的需求的第三个选项:

选项1:使用回调函数

给出以下代码:

import tkinter as tk
import tkinter.ttk as ttk
import threading


class ProgressbarApp(threading.Thread):

    def __init__(self, max_value: int):
        self.max_value = max_value

        self.root = None
        self.pb = None

        threading.Thread.__init__(self)
        self.lock = threading.Lock()    # (1)
        self.lock.acquire()             # (2)
        self.start()

        # (1) Makes sure progressbar is fully loaded before executing anything
        with self.lock:
            return

    def close(self):
        self.root.quit()

    def run(self):

        self.root = tk.Tk()
        self.root.protocol("WM_DELETE_WINDOW", self.__callback)

        self.pb = ttk.Progressbar(self.root, orient='horizontal', length=400, mode='determinate')
        self.pb['value'] = 0
        self.pb['maximum'] = self.max_value
        self.pb.pack()

        self.lock.release() …
Run Code Online (Sandbox Code Playgroud)

python tkinter exit python-3.x progress-bar

5
推荐指数
2
解决办法
9635
查看次数

使Tkinter窗口显示在任务栏中

我希望我的程序出现在任务栏中,但仍然没有传统的Windows寄存器.我怎么能这样做?我知道self.overrideredirect(1),但这会从任务栏中删除我的程序.

这适用于Windows 7.

python tkinter windows-7

2
推荐指数
2
解决办法
4806
查看次数