在pyside6 中想要让窗口禁止拉升,可以有两个设置函数
setWindowFlags函数和 setFixedSize函数
对比使用来看
使用setWindowFlags函数
class MainWindow(QMainWindow):
a = Signal(int) # 全局信号
comeple = Signal(int)
def __init__(self):
super(MainWindow, self).__init__()
self.cfg = WorkerPool()
self.cmds = LoaderCmd()
self.ui = Ui_Form()
self.ui.setupUi(self,self.cfg.getNames())
self.telnet = WorkerTelnetProxy()
#self.cmd.ReadCmd(self.ui.usecfg)
#ui
#self.setAttribute(Qt.WA_TranslucentBackground)
self.setWindowFlags(Qt.Window | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint)
#self.setFixedSize(self.width(), self.height())
得到的是这样的效果:
界面的放大按钮进行了隐藏,但是通过鼠标操作还是可以对窗体进行拉升
使用setFixedSize函数
class MainWindow(QMainWindow):
a = Signal(int) # 全局信号
comeple = Signal(int)
def __init__(self):
super(MainWindow, self).__init__()
self.cfg = WorkerPool()
self.cmds = LoaderCmd()
self.ui = Ui_Form()
self.ui.setupUi(self,self.cfg.getNames())
self.telnet = WorkerTelnetProxy()
#self.cmd.ReadCmd(self.ui.usecfg)
#ui
#self.setAttribute(Qt.WA_TranslucentBackground)
#self.setWindowFlags(Qt.Window | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint)
self.setFixedSize(self.width(), self.height())
此时窗口在各方面都被完全的定死,非常满足我的需求。
同时
使用setWindowFlags函数中还可以用的到的参数有:
setWindowFlags(Qt::CustomizeWindowHint);//设置窗口标题栏自定义
setWindowFlags(Qt::WindowMinimizeButtonHint);//设置窗口的标题栏只有最小化的按钮
setWindowFlags(Qt::WindowCloseButtonHint);//设置窗口的标题栏只有关闭的按钮
setWindowFlags(Qt::WindowStaysOnTopHint);//设置窗体一直置顶,并且不会抢焦点
setWindowFlags(this->windowFlags());//设置窗口为QT的默认属性
setWindowFlags(Qt::FramelessWindowHint));//设置窗体无边框,不可拖动拖拽拉伸
setWindowModality(Qt::WindowModal); //设置窗体为模态