document.write("");

python pyqt6 设定窗口置顶

self.setWindowFlag(Qt.WindowType.WindowStaysOnTopHint)即可
效果一般,页面会出现闪烁一次,


        # 置顶按钮  
        self.top_button = QPushButton('', self)  
        self.top_button.move(self.width() - 90, 5)  # 设置位置  
        self.top_button.setStyleSheet('border:none;background:transparent;')# image:url("./close.png");
        self.top_button.setIcon(QIcon(get_icon('top.png')))  # 设置按钮图标为pixmap
        self.top_button.setIconSize(QSize(20, 20))  # 设置图标尺寸
        self.top_button.setShortcut('Ctrl+t')
        self.top_button.clicked.connect(self.top_flag_window)  # 设置点击事件,关闭窗口  
        self.top_button.setFixedWidth(20)

  

    window_top_stay = False
    # 窗口置顶逻辑
    def top_flag_window(self): 
        global window_top_stay
        window_top_stay = not window_top_stay
        if window_top_stay == True:
            self.setWindowFlag(Qt.WindowType.WindowStaysOnTopHint) # 将窗口置顶 
            self.setVisible(True)
            # 把未选中状态的图标更新为选中状态的图标
            self.top_button.setIcon(QIcon(get_icon("select_top.png")))  # 设置按钮图标为pixmap
            self.top_button.setIconSize(QSize(20, 20))  # 设置图标尺寸
        else:
            self.setWindowFlags(self.windowFlags() & ~Qt.WindowType.WindowStaysOnTopHint) # 取消置顶
            self.setVisible(True)
            # 把选中状态的图标更新为未选中状态的图标
            self.top_button.setIcon(QIcon(get_icon("top.png")))  # 设置按钮图标为pixmap
            self.top_button.setIconSize(QSize(20, 20))  # 设置图标尺寸

  

posted @ 2024-01-16 14:59  人间春风意  阅读(458)  评论(0编辑  收藏  举报