網上有很多設定為無標題欄的方法,但都是基於全手寫**的,並沒有針對designer這個gui工具的設定方法。
由於designer生成的介面是繼承自object類的,而網上的方法全是手寫**,並繼承自qmainwindow類或qwidget類的,在designer中並沒有相關的設定項,改py檔案的話,一旦重新生成介面,所做的工作全部白廢,很不方便。
我的做法如下
1 designer生成的介面為main_ui.ui,經過uic工具轉換以後的檔名為main_ui.py
2 新建乙個display_ui.py,開頭增加 from pyqt5.qtcore import qt 這一行
3 從main_ui.ui中再繼承一下,並增加設定無邊框的方法
這樣操作以後,designer中的任何更改,以及再次生成介面檔案,都不再影響功能的實現
**如下:
檔名:main_ui.py
from pyqt5 import qtcore, qtgui, qtwidgets
class
ui_form
(object):
# def setnotittle(self, form):
# form.setwindowflags(qt.framelesswindowhint)
# pass
defsetupui
(self, form)
: form.setobjectname(
"form"
) form.resize(
800,
600)
# form.setwindowflags(qt.framelesswindowhint)
sizepolicy = qtwidgets.qsizepolicy(qtwidgets.qsizepolicy.preferred, qtwidgets.qsizepolicy.preferred)
sizepolicy.sethorizontalstretch(5)
sizepolicy.setverticalstretch(5)
sizepolicy.setheightforwidth(form.sizepolicy(
).hasheightforwidth())
form.setsizepolicy(sizepolicy)
form.setlayoutdirection(qtcore.qt.lefttoright)
self.retranslateui(form)
qtcore.qmetaobject.connectslotsbyname(form)
defretranslateui
(self, form)
: form.setwindowtitle(_translate(
"form"
,"form"
))
from main_ui import
*from pyqt5.qtcore import qt
# 從designer生成的標準檔案結構中的ui_form類繼承,並增加乙個設定方法setnotittle,以設定為無標題欄
class
ui_form_additional
(ui_form)
:def
setnotittle
(self, form)
: form.setwindowflags(qt.framelesswindowhint)
# 設定為無標題欄
pass
if __name__ ==
"__main__"
:import sys
from pyqt5.qtgui import qicon
widget=qtwidgets.qwidget(
) ui=ui_form_additional(
) ui.setnotittle(widget)
ui.setupui(widget)
widget.show())
) self.setwindowflags(qt.qt.framelesswindowhint)
pyqt5生成的APP製作DMG
3.1.1 安裝 3.1.2 配置環境變數 因mac os已預設安裝python2.7,所以還需修改環境變數,使python3.5為python預設使用版本。修改檔案 bash profile,追加如下內容 path library frameworks python.framework versi...
如何移動無標題欄的窗體
方法一 1.在form1類的標頭檔案中宣告wm nchittest訊息的回應過程函式 public user declarations message void fastcall wmnchittest twmnchittest message begin message map message h...
無標題欄對話方塊的拖動
實際上,用滑鼠點住對話方塊背景進行拖動操作並不難,但是你必須了解在標題欄裡拖動視窗的原理。windows首先確定滑鼠點中了那個視窗,然後向那個視窗傳送乙個wm nchittest訊息找出此視窗的哪個 非客戶區 如邊界 最大化 最小化按鈕 選單 標題等等 擁有滑鼠游標。接著預設的視窗過程響應訊息並返回...