Найти - Пользователи
Полная версия: Qt4 прозразность фона
Начало » GUI » Qt4 прозразность фона
1 2
wonderfulll
Доброго времени суток!
Возникла проблема, как сделать, чтобы в приложении был прозрачный только фон, а не всё приложение целиком.
ZZZ
Посмотри на void QWidget::setMask ( const QBitmap & bitmap ).
wonderfulll
О маске я знаю, с помощью её я форму приложения задаю, а мне надо чтобы было что-то типо setWindowOpacity только для фона.
В принципе это всё делаю на примере стандартного shapedclock, а там всё поверх QWidget рисуется. Может есть какой параметр чтобы у него не было фона?
gmorgunov
Посмотрите, может в этом направлении вам копнуть (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
Этот прозрачный фон всё равно накладывается поверх стандартного окна. Проблему прозрачного фона не решает.
Есть пример на С++ с использованием ARGB, но переделать в рабочий питоновский вариант не удалось.
http://labs.trolltech.com/page/Graphics/Examples
Может у кого получилось?
ZZZ
Это явно не то, что требуется. Иначе я бы предложил использовать палитру (QPalette) с прозначными цветами (QColor(r, g, b, a)). В Qt3 оно не работало, а здесь прямо заглядение! Но для окон не пашет. Только что проверил.

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

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

wonderfulll
Если у кого нету SVN прикрепил выше указанный пример.
Ты бы показал, где ты его прикрепил… Искать у меня нет никакого желания (gprs, блин!), но я бы посмотрел.
wonderfulll
Чёто форум не цепляет файлы.
http://anton.gektoras.lt/temp/argb.zip
ZZZ
Покапал… У меня в MacOS X эта хрень не заработала. На Питон не перевелась. Вернее, отрисовать-то отрисовал, но на стандартном окне, с общей прозрачностью.
Мне кажется, что дело тут в начальной настройке иксов, котоые на питоне так просто не сделать. Единственное, что могу предложить, это разработать виджет-окно на C++, а наполнять его питоном… Но я не уверен.

Покапал на эту тему виджетов переменной прозрачности… Блин, оказывается у меня в макоси это обычное дело, а я и не замечал… Притом в Cocoa это решается просто палитрой с rgba… Будем ждать, может Тролли сделают что-нить в этом направлении…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB