python做一个窗口样式_[Python自学] PyQT5-窗口风格、窗口样式
一、修改窗口的風格(控件風格)
修改Window的風格,只會響應窗口中的所有控件,而對窗口的標題欄等沒有影響(標題欄是受系統風格影響的)。
import sys
# 導入QT,其中包含一些常量,例如顏色等
from PyQt5.QtCore import Qt
from PyQt5 import QtCore
# 導入常用組件
from PyQt5.QtWidgets import QApplication, QWidget, QStyleFactory
from PyQt5.QtWidgets import QVBoxLayout, QComboBox
# 使用調色板等
from PyQt5.QtGui import QIcon
class DemoWin(QWidget):
def __init__(self):
super(DemoWin, self).__init__()
self.initUI()
def initUI(self):
self.resize(400, 200)
self.stylesComboBox = QComboBox()
# 將支持的風格加到comboBox中
self.stylesComboBox.addItems(QStyleFactory.keys())
# 獲取當前窗口的風格
print(QApplication.style().objectName()) # 當前為windowsvista風格
# 獲取當前風格對應的index
index = self.stylesComboBox.findText(QApplication.style().objectName(), QtCore.Qt.MatchFixedString) # index=0
# 將comboBox的值設置為當前index
self.stylesComboBox.setCurrentIndex(index)
# 將comboBox改變值的信號和槽函數綁定
self.stylesComboBox.activated[str].connect(self.handleStyleChanged)
layout = QVBoxLayout()
layout.addWidget(self.stylesComboBox)
self.setLayout(layout)
# 添加窗口標題
self.setWindowTitle("StyleChangeDemo")
def handleStyleChanged(self, style):
QApplication.setStyle(style)
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setWindowIcon(QIcon("images/icon.ico"))
# 創建一個主窗口
mainWin = DemoWin()
# 顯示
mainWin.show()
# 主循環
sys.exit(app.exec_())
實現效果:
二、窗口樣式(窗口風格)
1.簡單Demo
import sys
# 導入QT,其中包含一些常量,例如顏色等
from PyQt5.QtCore import Qt
# 導入常用組件
from PyQt5.QtWidgets import QApplication, QMainWindow
# 使用調色板等
from PyQt5.QtGui import QIcon
class DemoWin(QMainWindow):
def __init__(self):
super(DemoWin, self).__init__()
self.initUI()
def initUI(self):
self.resize(400, 250)
# 設置最大化按鈕,最小化按鈕,關閉按鈕,以及窗口一直在最頂層
self.setWindowFlags(
Qt.WindowMaximizeButtonHint | Qt.WindowMinimizeButtonHint | Qt.WindowCloseButtonHint | Qt.WindowStaysOnTopHint)
# 為窗口設置一個對象名,方便使用QSS設置樣式
self.setObjectName("MainWindow")
# 設置QSS樣式
self.setStyleSheet("#MainWindow{border-image:url('./images/ailusha.png');}")
# 添加窗口標題
self.setWindowTitle("窗口樣式Demo")
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setWindowIcon(QIcon("images/icon.ico"))
# 創建一個主窗口
mainWin = DemoWin()
# 顯示
mainWin.show()
# 主循環
sys.exit(app.exec_())
實現效果:
可以看到,窗口右上方有最大化按鈕、最小化按鈕和關閉按鈕。而且不管光標是否在窗口上,窗口都是現實在最頂層的。
2.取消邊框
self.setWindowFlags(Qt.FramelessWindowHint)
====
標簽:__,窗口,Qt,Python,self,PyQT5,PyQt5,import
來源: https://www.cnblogs.com/leokale-zz/p/13132504.html
總結
以上是生活随笔為你收集整理的python做一个窗口样式_[Python自学] PyQT5-窗口风格、窗口样式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bootstrap 模态框满屏_解决Ue
- 下一篇: websocket python爬虫_p