繁体   English   中英

如何使窗口在pyqt5中不可移动

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM