Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Jkc от Июль 10, 2007, 14:09



Название: Как подредактировать кнопки управления окном?
Отправлено: Jkc от Июль 10, 2007, 14:09
Главное окно программы имеет 2 кнопк это '?'  и 'X' нужно
1. Так подредактировать, что бы по нажатию на '?' появлялось нужное диалоговое окно .
2. Добавить кнопку '_' свернуть окно.
QT 3.3.4


Название: Как подредактировать кнопки управления окном?
Отправлено: SABROG от Июль 10, 2007, 14:21
Есть у тебя такой пример ? examples\widgets\windowflags

Насчет "?", посмотри в сторону WMNCLBUTTONUP

Я так понимаю ты пишешь программу только для Windows ?


Название: Как подредактировать кнопки управления окном?
Отправлено: Jkc от Июль 10, 2007, 14:49
Цитировать

Есть у тебя такой пример ? examples\widgets\windowflags


Такого примера к сожалению нет и по  
QHelpEvent тоже нечего не нашёл.
В QT 3.3.4 этого наверное нет


Название: Как подредактировать кнопки управления окном?
Отправлено: SABROG от Июль 10, 2007, 14:51
А этот класс есть "QWhatsThis" ?


Название: Как подредактировать кнопки управления окном?
Отправлено: Jkc от Июль 11, 2007, 15:57
За "QWhatsThis" спасибо.
Теперь подскажите как добавить кнопку что бы скинуть программу на панель задачь _ . Что бы было так '?' ' _' 'X'
QT3.3.4


Название: Как подредактировать кнопки управления окном?
Отправлено: Jkc от Июль 13, 2007, 11:37
Спасибо одному человеку. помог.
Нужно
1 создать класс наследник формы диалогового окна.
2 переопределить  конструктор с указанием нужных параметров.
3 в main.cpp вместо главной формы использовать вашу форму наследник .


Код:

mydialogimpl.h


#ifndef  MYDIALOGIMPL_H
#define MYDIALOGIMPL_H
#include "form1.h"

class MyDialogImpl: public Form1
{
    public:
      MyDialogImpl( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
};
#endif

//--------------------------------------------------------------------
mydialogimpl.cpp
//
#include  "mydialogimpl.h"

MyDialogImpl::MyDialogImpl( QWidget* parent, const char* name, bool modal, WFlags fl )
    : Form1( parent, name, modal, WStyle_Customize|WStyle_DialogBorder|WStyle_Title| WStyle_SysMenu |   WStyle_Minimize  | WStyle_Dialog | WStyle_ContextHelp)
{
   
}
//---------------------------------------------------------------------

main.cpp

//.......................
    QApplication a( argc, argv );

 //   вместо Form1 w;
 //   использовать MyDialogImpl  

    MyDialogImpl w;
    w.show();
    a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
    return a.exec();
}