Python PyQt5 Как сделать фон окна? Код:import sys
from PyQt5.QtWidgets import QWidget, QPushButton, QApplication, QHBoxLayout, QVBoxLayout, QDesktopWidget, QLabel
from PyQt5.QtGui import QPixmap
class first(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
#Считывание контента
with open('set.txt', 'r') as file:
win = file.read()
try:
with open(win + '.txt', 'r') as file:
self.x = file.read().split('\n')
except:
with open('main.txt', 'r') as file:
self.x = file.read().split('\n')
#print(self.x)
self.b = []
for i in self.x:
#Кнопки
if i[:7] == '@button':
self.b.append(QPushButton(i[8:-1], self))
self.b[len(self.b) - 1].clicked.connect(self.click)
#Изображения
elif i[:6] == '@image':
lbl = QLabel(self)
lbl.setPixmap(QPixmap(i[7:-1]))
self.b.append(lbl)
#Текст
else:
lbl = QLabel(i)
self.b.append(lbl)
#Разметка страницы
hbox = QVBoxLayout()
for i in range(len(self.b)):
hbox.addWidget(self.b[i])
vbox = QHBoxLayout()
vbox.addLayout(hbox)
self.setLayout(vbox)
#Параметры окна
q = QDesktopWidget().availableGeometry()
self.setGeometry(0, 0, q.width(), q.height())
self.setWindowTitle('Goncharov Lox')
self.show()
...

21 Авг 2019 в 06:24
273 +1
0
Ответы
1

Чтобы установить фон окна в PyQt5, вы можете использовать стили CSS. Ниже приведен исправленный код, который устанавливает фоновое изображение для окна:

import sys
from PyQt5.QtWidgets import QWidget, QPushButton, QApplication, QHBoxLayout, QVBoxLayout, QDesktopWidget, QLabel
from PyQt5.QtGui import QPixmap
class first(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# Считывание контента
with open('set.txt', 'r') as file:
win = file.read()
try:
with open(win + '.txt', 'r') as file:
self.x = file.read().split('\n')
except:
with open('main.txt', 'r') as file:
self.x = file.read().split('\n')
# print(self.x)
self.b = []
for i in self.x:
# Кнопки
if i[:7] == '@button':
self.b.append(QPushButton(i[8:-1], self))
self.b[len(self.b) - 1].clicked.connect(self.click)
# Изображения
elif i[:6] == '@image':
lbl = QLabel(self)
lbl.setPixmap(QPixmap(i[7:-1]))
self.b.append(lbl)
# Текст
else:
lbl = QLabel(i)
self.b.append(lbl)
# Разметка страницы
hbox = QVBoxLayout()
for i in range(len(self.b)):
hbox.addWidget(self.b[i])
vbox = QHBoxLayout()
vbox.addLayout(hbox)
self.setLayout(vbox)
# Установка фонового изображения
self.setAutoFillBackground(True)
p = self.palette()
p.setBrush(self.backgroundRole(), QPixmap('background.jpg'))
self.setPalette(p)
# Параметры окна
q = QDesktopWidget().availableGeometry()
self.setGeometry(0, 0, q.width(), q.height())
self.setWindowTitle('Goncharov Lox')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = first()
sys.exit(app.exec_())

В этом коде добавлена функция установки фонового изображения для окна. Фоновое изображение должно быть в файле с именем 'background.jpg' в той же директории, где находится ваш скрипт. Обратите внимание, что фоновое изображение устанавливается с помощью метода setBrush() и setPalette().

20 Апр в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 436 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир