如何在Python(windows)中创建无边界应用程序?

如何在Python(windows)中创建无边界应用程序?,python,borderless,Python,Borderless,我想知道如何在Windows中创建一个没有默认边框的应用程序;特别是带有最小化、最大化和关闭按钮的标题栏。 我正在考虑编写一个在屏幕顶部或底部占用狭小空间的ticker程序,但除非有可能用Python制作一个精简应用程序,否则我不会尝试。感谢您对术语的任何帮助;也许我不知道如何在搜索中提出正确的问题。Tkinter有这个选项吗? 谢谢尝试使用QT设计器和Python(PyQT4) 这个密码呢 from TestUI import Ui_MainWindow class testQT4(QtGui

我想知道如何在Windows中创建一个没有默认边框的应用程序;特别是带有最小化、最大化和关闭按钮的标题栏。 我正在考虑编写一个在屏幕顶部或底部占用狭小空间的ticker程序,但除非有可能用Python制作一个精简应用程序,否则我不会尝试。感谢您对术语的任何帮助;也许我不知道如何在搜索中提出正确的问题。Tkinter有这个选项吗?
谢谢

尝试使用QT设计器和Python(PyQT4)

这个密码呢

from TestUI import Ui_MainWindow
class testQT4(QtGui.QMainWindow):

    def __init__(self, parent=None):    

        super(testQT4, self).__init__(parent,Qt.CustomizeWindowHint)
        self.ui = Ui_MainWindow()

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = testQT4()
    myapp.show()

    sys.exit(app.exec_())
TestUI是您的UI文件 通过使用进入项目目录的“cmd”创建(通过cd[space][your path here])

然后打这个

pyuic4 resfile.ui -o TestUI.py
上面将创建项目上的TestUI.py文件夹

resfile.ui是您在QT Designer上创建的文件

希望这能有所帮助。

如果您愿意使用,请查看
QtCore.Qt.FramelessWindowHint
下面的代码只是证明了这是可能的,并没有试图变得非常有用。特别是,您必须强制关闭应用程序才能关闭应用程序。在适当的实现中,您将以自定义方式处理鼠标事件,以允许用户移动和关闭应用程序。要运行此操作,您需要安装

乱码
我找到了一个例子来回答我的问题<代码>重写直接(1)是关键功能

我喜欢这种方法,因为我熟悉Tk,更喜欢Tk解决方案,但请参阅其他备选解决方案的答案

import tkMessageBox
from Tkinter import *

class App():
    def __init__(self):
        self.root = Tk()
        self.root.overrideredirect(1)
        self.frame = Frame(self.root, width=320, height=200,
                           borderwidth=2, relief=RAISED)
        self.frame.pack_propagate(False)
        self.frame.pack()
        self.bQuit = Button(self.frame, text="Quit",
                            command=self.root.quit)
        self.bQuit.pack(pady=20)
        self.bHello = Button(self.frame, text="Hello",
                             command=self.hello)
        self.bHello.pack(pady=20)

    def hello(self):
        tkMessageBox.showinfo("Popup", "Hello!")

app = App()
app.root.mainloop()

只需添加您自己的kill按钮或退出方法。

谢谢您的回复。到目前为止我只使用了Tkinter。推荐Qt而不是Tk吗?这取决于您的需要。就我而言,QT和PyQT4为我的程序提供了所需的所有灵活性。而且在我的编程水平上很容易。谢谢你的回复。我在过去只使用过Tkinter,刚刚找到了一个用Tk回答我问题的示例,但我会在Qt和PySide上阅读并安装它。请随意接受您在问题中给出的答案,添加它作为答案,然后接受它作为答案,因为它最适合你想要的。感谢你提供了一个简洁而简单的例子-工作起来很有魅力。你可以查看WX模块
import tkMessageBox
from Tkinter import *

class App():
    def __init__(self):
        self.root = Tk()
        self.root.overrideredirect(1)
        self.frame = Frame(self.root, width=320, height=200,
                           borderwidth=2, relief=RAISED)
        self.frame.pack_propagate(False)
        self.frame.pack()
        self.bQuit = Button(self.frame, text="Quit",
                            command=self.root.quit)
        self.bQuit.pack(pady=20)
        self.bHello = Button(self.frame, text="Hello",
                             command=self.hello)
        self.bHello.pack(pady=20)

    def hello(self):
        tkMessageBox.showinfo("Popup", "Hello!")

app = App()
app.root.mainloop()