Russian Qt Forum
Май 29, 2024, 02:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 12 13 [14] 15 16 ... 19
196  Qt / Вопросы новичков / Re: Виджет-карта и легенда : Февраль 23, 2014, 09:31
Igors, Спасибо за ответ. Т.е. сделать "легенду" полноценным окном (Qt::Window) не получится (да и не надо). Делаем ее QFrame, располагаем на ней чего надо, в том числе самодельную кнопочку "Close".
Как сделать перемещение? Drag-Drop-техникой, да? Я просто ей еще не пользовался, но тем интереснее будет попробовать.
Изменение размеров - это в общем-то от лукавого - обойдусь.
197  Qt / Вопросы новичков / Виджет-карта и легенда : Февраль 22, 2014, 19:49
Добрый день! Всех мужчин с наступающим!
Есть виджет(назовем его Картой) (в самом деле MDI-субокно). На нем картинка. Хотелось бы создать дополнительный виджет - "легенду", на котором бы пояснялось, что происходит на Карте. Требования к виджету-легенде
1. Его можно двигать в пределах виджета-Карты и изменять его размер(т.е. у него есть заголовок и рамка) и закрывать
2. При перекрытии другой Картой, он должен тоже перекрываться
3. При движении Карты Легенда должна перемещаться вместе с ним.
Т.е. надо, чтоб Легенда была относительно самостоятельна, Но Карта была ее контейнером.
И вот никак не получается удовлетворить всем трем требованиям
Вот так я его создаю
Код:
   Leg = new QWidget(this, Qt::Window);  // (а) 
        // Попытка дать флаг Qt::SubWindow тоже ничего не дала
или
   Leg = new QWidget(this);              // (б)
   Leg->setParent(this);  // Это кажется, вообще ни на что не влияет
     // this - это Карта
В случае (а) выполняется требование 1 (однако вылезает за пределы), но не выполняются 2 и 3
В случае (б) выполняются требование 2 и 3, но не выполняется 1
Есть ли выход? Или я вообще на тупиковом пути?

198  Программирование / С/C++ / Re: А вот еще мелочь еще менее известная) : Февраль 15, 2014, 11:30
В целом, код валиден только для си и в с++ будет откидываться с ворнингом на то, что указатель не инициализирован
В чистом С тот же варинг
Цитировать
и нельзя присваивать char в char*,
А тут ничего подобного нет.
199  Qt / Вопросы новичков / Re: Еще раз про MDI : Февраль 10, 2014, 19:05
Похоже, склоняюсь к тому, чтоб вообще от MDI отказаться. Его механизмы смутны, и мне мало что дают. tile и cascade как-нибудь сам реализую.
Есть MainWindow, центральный виджет, все окошки - его детки...
Завтра с утра и займусь... Улыбающийся
200  Qt / Вопросы новичков / Еще раз про MDI : Февраль 10, 2014, 13:20
Хочется, чтобы при максимизации субокна, у него оставался его title, чтоб его можно было "возить" по всему area (с появлением скроллов, разумеется), и чтобы другие окна сохраняли свою геометрию.
Вот, придумал такой костыль. Вроде, работает.
dsub.h:
Код:
class DSub : public QWidget {
  Q_OBJECT
public:
  QMdiSubWindow *su;
public:
  DSub();
public slots:
  void States(Qt::WindowStates, Qt::WindowStates);
};
dsub.c:
Код:
DSub::DSub() : QWidget()  // QGLWidget()
{
   ....
   su = par->area->addSubWindow(this);
   QObject::connect(su, SIGNAL(windowStateChanged(Qt::WindowStates, Qt::WindowStates)),
          this, SLOT(States(Qt::WindowStates, Qt::WindowStates)));
}
//----------------
void DSub::States(Qt::WindowStates old, Qt::WindowStates ne)
{
  if (ne & Qt::WindowMaximized) {
     su->setWindowState(old);
     su->move(0, 0);
     su->resize(mw->area->width(), mw->area->height());
  }
}
А нельзя ли этого добиться как-то более цивилизовано...
mw - это MainWindow
201  Qt / Вопросы новичков / Re: Странности MDI : Февраль 10, 2014, 09:07
Может эти флаги не совместимы с Субокнами?
Видимо, так. Уже не помню, зачем я их поставил. Тем более, что в субокнах и без этих флагов все нужные кнопочки есть. Кажется, это было, когда я еще пытался без MDI этими окнами управлять.
Но любопытно, что программа вылетала без единого звука.
Одно утешает. Может быть потерянный мной день кому-то поможет в аналогичной ситуации... Улыбающийся
202  Qt / Вопросы новичков / Re: Странности MDI : Февраль 09, 2014, 14:40
Забыл уточнить. Windows XP, Qt 4.5
203  Qt / Пользовательский интерфейс (GUI) / Re: Размер c учетом скроллера : Февраль 09, 2014, 14:36
QStyle::pixelMetric(...)  Нет?
204  Qt / Вопросы новичков / Re: Странности MDI : Февраль 09, 2014, 13:35
Прошу прощения. Лишняя палка попала при переписывании. В самом деле там одна.
Проверил. Раскомментировал. Палка - одна (побитовая). Глюки возобновились.
205  Qt / Вопросы новичков / Re: QTableView и Enter : Февраль 08, 2014, 20:50
Посмотрите с сторону setEditTriggers
206  Qt / Вопросы новичков / Странности MDI : Февраль 08, 2014, 20:46
Весьма любопытно вел себя MDI. Несколько окон замечательно создавалось. Но стоило
одно из них расширить на всю область (кнопочкой "экран") как при создании следующего окна программа молча вылетала. Просто кончалась безо всяких сообщений
А иногда и через одно-два создание, честно, логики ее поведения я так и не смог уловить.
Вот так я создавал окно.
Код:
DSub::DSub(DMain *par) : QWidget()  
// par - это отцовское окно, унаследованнное от QMainWindow
// area -  QMdiArea, сделанная центральным иджетом
{
   su = par->area->addSubWindow(this);
   //su->setWindowFlags(windowFlags() 
   //   || Qt::WindowTitleHint | Qt::WindowSystemMenuHint);
   // Вот из-за этого программа молча слетала
Стоило убрать то, что закомментировано, и все прекрасно заработало

А это кусок h-файла
Код:
class DSub : public QWidget {
  Q_OBJECT
public:
  QMdiSubWindow *su;
В общем-то в данный момент это не так и важно. Работает - и слава Богу.
Но интересно, в чем же дело, чтоб на грабли эти больше не наступать... Улыбающийся
207  Qt / Вопросы новичков / Re: Qt консольное приложение для сервера : Февраль 03, 2014, 09:46
Просто убери a.exec(). да и a.exit() тоже. Сама закончится...
208  Qt / Пользовательский интерфейс (GUI) / Re: QLabel + QLineEdit + QLayout : Январь 28, 2014, 13:11
Самым простым будет с QFormLayout c labelAlignment( Qt::AlignRight ).
Спасибо! С удовольствием воспользовался
Код:
 form->setLabelAlignment( Qt::AlignRight );
209  Qt / Qt Quick / Re: Есть предложение сделать раздельчик по примерам на QML : Январь 16, 2014, 23:05
navrocky, удачи!
210  Qt / Qt Quick / Re: Есть предложение сделать раздельчик по примерам на QML : Январь 15, 2014, 21:21
Поддерживаю
Страниц: 1 ... 12 13 [14] 15 16 ... 19

Страница сгенерирована за 0.053 секунд. Запросов: 20.