wonderfulll
Янв. 30, 2009 18:36:43
Доброго времени суток!
Возникла проблема, как сделать, чтобы в приложении был прозрачный только фон, а не всё приложение целиком.
ZZZ
Янв. 31, 2009 12:00:40
Посмотри на void QWidget::setMask ( const QBitmap & bitmap ).
wonderfulll
Фев. 1, 2009 10:43:59
О маске я знаю, с помощью её я форму приложения задаю, а мне надо чтобы было что-то типо setWindowOpacity только для фона.
В принципе это всё делаю на примере стандартного shapedclock, а там всё поверх QWidget рисуется. Может есть какой параметр чтобы у него не было фона?
gmorgunov
Фев. 1, 2009 16:12:45
Посмотрите, может в этом направлении вам копнуть (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_())
wonderfulll
Фев. 1, 2009 21:50:18
Этот прозрачный фон всё равно накладывается поверх стандартного окна. Проблему прозрачного фона не решает.
Есть пример на С++ с использованием ARGB, но переделать в рабочий питоновский вариант не удалось.
http://labs.trolltech.com/page/Graphics/ExamplesМожет у кого получилось?
ZZZ
Фев. 1, 2009 22:04:14
Это явно не то, что требуется. Иначе я бы предложил использовать палитру (QPalette) с прозначными цветами (QColor(r, g, b, a)). В Qt3 оно не работало, а здесь прямо заглядение! Но для окон не пашет. Только что проверил.
По теме. Кажись никак. Можно попробовать создать метаокно из кучи окон разной прозрачности… Экстрим, блин, конкретный, но я бы посмотрел на это… Так, для себя, чисто поржать… © Утомлённые Солнцем.
Вопрос занатокам wx… А у вас можно сделать окно переменной прозрачности?
А то я что-то плохо представляю такое в X11…
wonderfulll
Фев. 1, 2009 22:09:00
Ну в той же КДЕ полно разных виджетов которые используют частичную прозрачность.
ZZZ
Фев. 2, 2009 01:27:33
wonderfulll
Ну в той же КДЕ полно разных виджетов которые используют частичную прозрачность.
В тройке этим и не пахло, а четвёрку видел лишь на PC-BSD, а Parallels Desktop 3 не знает, что это такое и поэтому тормоза там нещадные…
wonderfulll
Если у кого нету SVN прикрепил выше указанный пример.
Ты бы показал, где ты его прикрепил… Искать у меня нет никакого желания (gprs, блин!), но я бы посмотрел.
wonderfulll
Фев. 2, 2009 08:42:49
ZZZ
Фев. 6, 2009 04:01:04
Покапал… У меня в MacOS X эта хрень не заработала. На Питон не перевелась. Вернее, отрисовать-то отрисовал, но на стандартном окне, с общей прозрачностью.
Мне кажется, что дело тут в начальной настройке иксов, котоые на питоне так просто не сделать. Единственное, что могу предложить, это разработать виджет-окно на C++, а наполнять его питоном… Но я не уверен.
Покапал на эту тему виджетов переменной прозрачности… Блин, оказывается у меня в макоси это обычное дело, а я и не замечал… Притом в Cocoa это решается просто палитрой с rgba… Будем ждать, может Тролли сделают что-нить в этом направлении…