Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Caduceus от Январь 29, 2009, 15:48



Название: Как сделать окно AlwaysOnTop и без заголовка?
Отправлено: Caduceus от Январь 29, 2009, 15:48
То есть я свой заголовок и кнопки хочу сделать. Как убрать заголовк и сделать поверх остальных  QT-шное окно?


Название: Re: Как сделать окно AlwaysOnTop и без заголовка?
Отправлено: spirit от Январь 29, 2009, 16:07
глянте пример QTDIR/examples/widgets/windowflags


Название: Re: Как сделать окно AlwaysOnTop и без заголовка?
Отправлено: Caduceus от Январь 29, 2009, 16:19
о, спасибо, ступил


Название: Re: Как сделать окно AlwaysOnTop и без заголовка?
Отправлено: SABROG от Январь 29, 2009, 17:49
Имхо этот example не самый лучший пример, чтобы тренироваться на кошках. Хотя общее представление о флагах получить можно. А так в общем-то тут 2 ключевых момента это наличие флага Qt::CustomizeWindowHint и сброс флага Qt::WindowTitleHint.

Код
C++ (Qt)
Widget::Widget(QWidget *parent)
   : QWidget(parent, Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint)
{
   Qt::WindowFlags flags = windowFlags();
   flags &= ~Qt::WindowTitleHint;
   setWindowFlags(flags);
   ui.setupUi(this);
}
 


Название: Re: Как сделать окно AlwaysOnTop и без заголовка?
Отправлено: ax от Январь 30, 2009, 13:26
Код:
#ifdef Q_WS_WIN
#define WFLAGS Qt::Widget
#else
#define WFLAGS Qt::X11BypassWindowManagerHint
#endif

widget->setWindowFlags( Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | WFLAGS );
использую и в Win и в Linux(в том числе и Qtopia с svgalib i directfb)


Название: Re: Как сделать окно AlwaysOnTop и без заголовка?
Отправлено: spirit от Январь 30, 2009, 13:33
запихни тогда в FAQ, если пашет.  ;)