Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 30, 2009 18:36:43

wonderfulll
От:
Зарегистрирован: 2009-01-30
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Qt4 прозразность фона

Доброго времени суток!
Возникла проблема, как сделать, чтобы в приложении был прозрачный только фон, а не всё приложение целиком.



Офлайн

#2 Янв. 31, 2009 12:00:40

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Qt4 прозразность фона

Посмотри на void QWidget::setMask ( const QBitmap & bitmap ).



Офлайн

#3 Фев. 1, 2009 10:43:59

wonderfulll
От:
Зарегистрирован: 2009-01-30
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Qt4 прозразность фона

О маске я знаю, с помощью её я форму приложения задаю, а мне надо чтобы было что-то типо setWindowOpacity только для фона.
В принципе это всё делаю на примере стандартного shapedclock, а там всё поверх QWidget рисуется. Может есть какой параметр чтобы у него не было фона?



Офлайн

#4 Фев. 1, 2009 16:12:45

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Qt4 прозразность фона

Посмотрите, может в этом направлении вам копнуть (view/scene):

# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.button = QtGui.QPushButton("button",self)

self.scene = QtGui.QGraphicsScene()
self.scene.addText("View/Scene")
view = QtGui.QGraphicsView(self.scene, self)
############ прозрачный фон ################
view.viewport().setAutoFillBackground(False)
view.move(50,10)

if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())



Офлайн

#5 Фев. 1, 2009 21:50:18

wonderfulll
От:
Зарегистрирован: 2009-01-30
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Qt4 прозразность фона

Этот прозрачный фон всё равно накладывается поверх стандартного окна. Проблему прозрачного фона не решает.
Есть пример на С++ с использованием ARGB, но переделать в рабочий питоновский вариант не удалось.
http://labs.trolltech.com/page/Graphics/Examples
Может у кого получилось?



Отредактировано (Фев. 2, 2009 08:41:30)

Офлайн

#6 Фев. 1, 2009 22:04:14

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Qt4 прозразность фона

Это явно не то, что требуется. Иначе я бы предложил использовать палитру (QPalette) с прозначными цветами (QColor(r, g, b, a)). В Qt3 оно не работало, а здесь прямо заглядение! Но для окон не пашет. Только что проверил.

По теме. Кажись никак. Можно попробовать создать метаокно из кучи окон разной прозрачности… Экстрим, блин, конкретный, но я бы посмотрел на это… Так, для себя, чисто поржать… © Утомлённые Солнцем.

Вопрос занатокам wx… А у вас можно сделать окно переменной прозрачности?
А то я что-то плохо представляю такое в X11…



Офлайн

#7 Фев. 1, 2009 22:09:00

wonderfulll
От:
Зарегистрирован: 2009-01-30
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Qt4 прозразность фона

Ну в той же КДЕ полно разных виджетов которые используют частичную прозрачность.



Офлайн

#8 Фев. 2, 2009 01:27:33

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Qt4 прозразность фона

wonderfulll
Ну в той же КДЕ полно разных виджетов которые используют частичную прозрачность.
В тройке этим и не пахло, а четвёрку видел лишь на PC-BSD, а Parallels Desktop 3 не знает, что это такое и поэтому тормоза там нещадные…

wonderfulll
Если у кого нету SVN прикрепил выше указанный пример.
Ты бы показал, где ты его прикрепил… Искать у меня нет никакого желания (gprs, блин!), но я бы посмотрел.



Отредактировано (Фев. 2, 2009 01:34:34)

Офлайн

#9 Фев. 2, 2009 08:42:49

wonderfulll
От:
Зарегистрирован: 2009-01-30
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Qt4 прозразность фона

Чёто форум не цепляет файлы.
http://anton.gektoras.lt/temp/argb.zip



Офлайн

#10 Фев. 6, 2009 04:01:04

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Qt4 прозразность фона

Покапал… У меня в MacOS X эта хрень не заработала. На Питон не перевелась. Вернее, отрисовать-то отрисовал, но на стандартном окне, с общей прозрачностью.
Мне кажется, что дело тут в начальной настройке иксов, котоые на питоне так просто не сделать. Единственное, что могу предложить, это разработать виджет-окно на C++, а наполнять его питоном… Но я не уверен.

Покапал на эту тему виджетов переменной прозрачности… Блин, оказывается у меня в макоси это обычное дело, а я и не замечал… Притом в Cocoa это решается просто палитрой с rgba… Будем ждать, может Тролли сделают что-нить в этом направлении…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version