Russian Qt Forum
Ноябрь 26, 2024, 07:00
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
"стеклянное" окно в qt
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: "стеклянное" окно в qt (Прочитано 2414 раз)
Int main()
Гость
"стеклянное" окно в qt
«
:
Июнь 15, 2013, 13:52 »
подскажите, пожалуйста, как сделать "стеклянное" окно типа aero
«
Последнее редактирование: Июнь 15, 2013, 13:57 от Int main()
»
Записан
Int main()
Гость
Re: "стеклянное" окно в qt
«
Ответ #1 :
Июнь 15, 2013, 14:00 »
void MainWindow::VistaGlass(int *Handle)
{
HMODULE dwm = ::LoadLibrary (L"dwmapi.dll");
if(dwm)
{
typedef HRESULT (WINAPI *pDwmExtendFrameIntoClientArea)
(HWND, void *MARGINS);
pDwmExtendFrameIntoClientArea procAddr = (pDwmExtendFrameIntoClientArea)::GetProcAddress(dwm,"DwmExtendFrameIntoClientArea");
if(procAddr)
{
MARGINS a = {-1,0,1000,0};
HRESULT hr = (procAddr)((HWND)Handle,&a);
}
::FreeLibrary(dwm);
}
}
вот нашел функцию
Записан
Int main()
Гость
Re: "стеклянное" окно в qt
«
Ответ #2 :
Июнь 15, 2013, 14:04 »
задаю атрибут
MainWindow::setAttribute(Qt::WA_NoSystemBackground);
вызываю функцию
VistaGlass((int*)MainWindow::winId());
но не так все гладко. Проблема в том, что когда нажимаю какую то кнопку(я делаю калькулятор), то на ней в верхнем правом и левом углах появляются какие-то точки. Короче смотрится как-то не так как бы хотелось
Записан
Int main()
Гость
Re: "стеклянное" окно в qt
«
Ответ #3 :
Июнь 15, 2013, 14:11 »
вот скрин. На кнопках плюс и минус заметны эти точки...как иправить? Или может есть какой-то другой кусок кода
Записан
Int main()
Гость
Re: "стеклянное" окно в qt
«
Ответ #4 :
Июнь 15, 2013, 15:46 »
как исправить этот глюк? Почему такого нет в нижных углах кнопки?
Записан
Int main()
Гость
Re: "стеклянное" окно в qt
«
Ответ #5 :
Июнь 16, 2013, 21:09 »
решил проблему. Надо просто
было setAttribute(Qt::WA_
NoSystemBackground) заменить на
setAttribute(Qt::WA_
TranslucentBackground) в
конструкторе
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...