Как создать приложение без полей в Python (windows)?

Я хотел бы знать, как создать приложение в Windows, которое не имеет границы по умолчанию; в частности, заголовок с кнопками «свернуть», «максимизировать» и «закрыть». Я подумываю написать программу тикера, которая занимает узкое пространство в верхней или нижней части экрана, но я не буду ее пытаться, если только не возможно сделать тонкое приложение на Python. Любая помощь с терминологией оценивается; может быть, я не знаю, как задать правильный вопрос при поиске. Имеет ли Tkinter этот параметр? благодаря

  • Python: почему распечатываемые заявления и вывод subprocess.call () не синхронизированы?
  • Python - определение максимального значения во втором столбце вложенного списка
  • Хранить окно печати в Matplotlib
  • SQLAlchemy JSON как blob / text
  • Запросы Python извлекают файл из локального URL-адреса
  • Получить идентификатор группы обратно в базу данных pandas
  • Замените textarea на богатый текстовый редактор в Django Admin?
  • dbus_to_python () принимает ровно 1 аргумент?
  • 3 Solutions collect form web for “Как создать приложение без полей в Python (windows)?”

    Если вы хотите использовать Qt / PySide , взгляните на QtCore.Qt.FramelessWindowHint . Кодекс ниже просто доказывает, что это возможно и не пытается быть ужасно полезным. В частности, вам придется принудительно убить приложение, чтобы закрыть приложение. В правильной реализации вы будете обрабатывать события мыши настраиваемым образом, чтобы пользователь мог перемещать и закрывать приложение. Чтобы запустить это, вам нужно будет установить PySide .

    Взломанный код

     import sys from PySide import QtGui, QtCore app = QtGui.QApplication(sys.argv) MainWindow = QtGui.QMainWindow(parent=None, flags=QtCore.Qt.FramelessWindowHint) MainFrame = QtGui.QFrame(MainWindow) MainWindow.setCentralWidget(MainFrame) MainFrameLayout = QtGui.QVBoxLayout(MainFrame) label = QtGui.QLabel('A Label') MainFrameLayout.addWidget(label) MainWindow.show() sys.exit(app.exec_()) 

    Я нашел пример, который ответил на мой вопрос здесь . overrideredirect(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 или quit.

    Попробуйте использовать QT Designer и 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 – это ваш файл пользовательского интерфейса. Создано с помощью «cmd», входящего в каталог вашего проекта (cd [пробел] [ваш путь здесь]).

    и набрав это

     pyuic4 resfile.ui -o TestUI.py 

    выше создаст тестовую папку ProjectUI.py

    resfile.ui – это файл, который вы создали в QT Designer

    Надеюсь это поможет.

    Python - лучший язык программирования в мире.