簡體   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