self.setFixedSize(800, 0) self.label = QLabel("") self.label.setAlignment(Qt.AlignCenter) layout = QVBoxLayout() layout.addWidget(self.label) self.setLayout(layout) self.setWindowTitle("正在打开枪管摄像头,请稍后...") self.move(100, 360) 窗口右上角不显示关闭按钮
时间: 2024-03-03 12:47:14 浏览: 112
如果你想要隐藏窗口的关闭按钮,可以使用`setWindowFlags`方法设置窗口标志,将`Qt.WindowCloseButtonHint`标志去掉即可。示例如下:
```
self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint) # 设置窗口标志
self.setAttribute(Qt.WA_TranslucentBackground) # 设置窗口透明背景
```
完整代码如下:
```
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
from PyQt5.QtCore import QTimer, Qt
class CountdownWindow(QWidget):
def __init__(self):
super().__init__()
self.setFixedSize(800, 0) # 设置窗口大小为宽度800,高度自适应
self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint) # 设置窗口标志
self.setAttribute(Qt.WA_TranslucentBackground) # 设置窗口透明背景
self.label = QLabel("")
self.label.setAlignment(Qt.AlignCenter)
layout = QVBoxLayout()
layout.addWidget(self.label)
self.setLayout(layout)
self.setWindowTitle("正在打开枪管摄像头,请稍后...")
self.move(100, 360) # 将窗口移动到屏幕坐标为(100, 360)的位置
self.countdown = 10 # 倒计时初始值为10秒
self.timer_interval = 1000 # 每隔1秒触发一次计时器事件
self.timer = QTimer()
self.timer.timeout.connect(self.update_countdown)
self.timer.start(self.timer_interval)
def update_countdown(self):
self.countdown -= 1 # 倒计时减1
self.label.setText(f"正在打开枪管摄像头,请稍后...{self.countdown}s") # 更新显示文本
if self.countdown == 0:
self.timer.stop() # 计时器停止
self.close() # 关闭窗口
if __name__ == '__main__':
app = QApplication([])
win = CountdownWindow()
win.show()
app.exec_()
```
这里的`Qt.FramelessWindowHint`标志表示隐藏窗口的边框,`Qt.WindowStaysOnTopHint`标志表示窗口始终在最上层显示。`setAttribute(Qt.WA_TranslucentBackground)`方法设置窗口背景透明。
阅读全文