我正在使用Qt Designer在PyQT4中工作。我的目标是隐藏小部件的标题栏。
我知道有一种方法,例如widget.setWindowFlags
(QtCore.Qt.CustomizeWindowHint
)或widget.setWindowFlags
(QtCore.Qt.FramelessWindowHint
),但它在我的情况下不起作用。
我的小部件是QWorkspace
的孩子。这意味着我的小部件已添加到Qworspace
。我试图以同样的方式隐藏标题栏,但它不起作用。
在这种情况下,有人知道如何删除程序的标题栏吗?
我的代码:我尝试了两种方法。他们已被评论出来。
编辑:
modul:search.py
from PyQt4.QtGui import QWidget
from PyQt4.uic import loadUi
from PyQt4.QtCore import Qt
class Search_Window(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent, Qt.FramelessWindowHint)
self.getPath_search_ui = os.path.join(os.path.abspath("."), 'files', "qt_ui", 'pp_search.ui')
self.ui_pp_search = loadUi(self.getPath_search_ui, self)
modul:mdi.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
from PyQt4.QtGui import QMainWindow, QWorkspace
from PyQt4.QtCore import Qt
from PyQt4.uic import loadUi
from ..modules_ui.ui_pp_search import Search_Window
class Mdi_Main(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.getPath_mdi = os.path.join(os.path.abspath("."), 'files', "qt_ui", 'pp_mdi.ui')
self.ui_TestMainWorkSpace = loadUi(self.getPath_mdi, self)
self.ui_TestMainWorkSpace.showMaximized()
self.workspace = QWorkspace()
self.workspace.setScrollBarsEnabled(True)
self.setCentralWidget(self.workspace)
def create_action_menu(self):
self.ui_TestMainWorkSpace.actionSearch.triggered.connect(self.show_search_form)
def show_search_form(self):
search_form = Search_Window()
self.workspace.addWindow(search_form, Qt.FramelessWindowHint)
search_form.show()
您可以看到我尝试通过将search_form添加到工作区来隐藏标题栏。它也不起作用。
答案 0 :(得分:0)
以下代码段适用于我,通过为addWindow方法指定窗口标记:
from PyQt4.QtGui import QApplication, QWorkspace, QTableView
from PyQt4.QtCore import Qt
def main():
app = QApplication([])
workspace = QWorkspace()
view = QTableView()
workspace.addWindow(view, Qt.FramelessWindowHint)
workspace.show()
app.exec_()
if __name__ == '__main__':
main()