[英]how to make a window not moveable in pyqt5
我想“鎖定”我的界面,以便用戶無法從其位置移動窗口,我該怎么做?
到目前為止,我只找到了可以設置為setFloating(False)
的QDockWidg
類
但是我怎么能用下面的窗口做到這一點呢?
import sys
import os
import sys
from PyQt5 import QtWidgets as qtw
from PyQt5 import QtCore as qtc
from PyQt5 import QtGui as qtg
class Example(qtw.QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# your code will go here
vlayout = qtw.QVBoxLayout()
hlayout = qtw.QHBoxLayout()
heading = qtw.QLabel("wählen")
self.test_button1 = qtw.QRadioButton("test1")
self.test_button2 = qtw.QRadioButton("test2")
self.select_button = qtw.QPushButton("select")
hlayout.addWidget(self.test_button1)
hlayout.addWidget(self.test_button1)
vlayout.addWidget(heading)
vlayout.addLayout(hlayout)
vlayout.addWidget(self.select_button)
self.setLayout(vlayout)
self.show()
if __name__ == '__main__':
app = qtw.QApplication(sys.argv)
w = Example()
w.show()
sys.exit(app.exec_())
例如,將toggled
的信號連接到self.test_button1
。
[信號]void QAbstractButton::toggled(bool 檢查)
每當可檢查按鈕更改其狀態時,就會發出此信號。 如果按鈕被選中,checked 為真,如果按鈕未選中,則為假。
在on_off_func
槽,檢查的狀態self.test_button1
和設置所需的Flag
。 之后,一定要調用self.show ()
。
import sys
from PyQt5 import QtWidgets as qtw
from PyQt5 import QtCore as qtc
from PyQt5 import QtGui as qtg
class Example(qtw.QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# your code will go here
vlayout = qtw.QVBoxLayout()
hlayout = qtw.QHBoxLayout()
heading = qtw.QLabel("wählen")
self.test_button1 = qtw.QRadioButton("test1")
self.test_button1.toggled.connect(self.on_off_func) # +
self.test_button2 = qtw.QRadioButton("test2")
self.select_button = qtw.QPushButton("select")
hlayout.addWidget(self.test_button1)
hlayout.addWidget(self.test_button2)
vlayout.addWidget(heading)
vlayout.addLayout(hlayout)
vlayout.addWidget(self.select_button)
self.setLayout(vlayout)
self.show()
def on_off_func(self, checked):
if checked:
self.setWindowFlags(qtc.Qt.FramelessWindowHint)
else:
self.setWindowFlags(qtc.Qt.Window)
self.show()
if __name__ == '__main__':
app = qtw.QApplication(sys.argv)
w = Example()
w.show()
sys.exit(app.exec_())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.