Прозрачный фон окна/виджета

вопросы по созданию программ с использованием возможностей библиотеки PHPQt5
rinart73
Аватара пользователя
 
Сообщения: 36
Skype: art7emw
Поблагодарили: 2 раза
Пробовал разные способы из гугла, чтобы сделать фон окна прозрачным. Не работают.
Прошу кинуть подсказку.
Почетный страдалец фигней
Пилю load_ui_file :good2:

WxMaper
Аватара пользователя
Администратор
 
Сообщения: 92
Благодарил (а): 8 раз
Поблагодарили: 4 раза
php Код:
class MainWindow extends QWidget {
// или extends QMainWindow
// или любой другой виджет вообще, хоть QLabel, хоть QPushButton...

    private $widget;

    public function __construct() {
        parent::__construct();
        
        // полностью прозрачное и "безтельное" окно, без рамок
        // (некликабельное, может быть растянуто на весь экран,
        // но другие элементы рабочего стола перекрывать не будет)
        $this->setAttribute(Qt::WA_TranslucentBackground);
        $this->setWindowFlags(Qt::WindowStaysOnTopHint // всегда сверху
                              | Qt::FramelessWindowHint // без рамки
                             );

        if( false ) { // защита от дурака :)
            // тоже самое без отображения на панели задач
            // (закрыть можно либо через диспетчер задач,
            // либо вызвав каким-то событием  qApp::quit();
            $this->setAttribute(Qt::WA_TranslucentBackground);
            $this->windowFlags = Qt::WindowStaysOnTopHint
                                 | Qt::FramelessWindowHint
                                 | Qt::Tool; // не показывать в пуске
        }

        // так тоже можно:
        $this->widget = new QWidget;
        $this->setAttribute(Qt::WA_TranslucentBackground);
        $this->setWindowFlags(Qt::WindowStaysOnTopHint
                              | Qt::FramelessWindowHint
                             );
    }
}

$mainWindow = new MainWindow;
$mainWindow->show();

qApp::exec();



-


Вернуться в Вопрошайка

Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей
cron