[英]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.