Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 13.07.2019, 18:34   #1
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 759
Вопрос QT: если использовать MainWin вместо Widget - то не появиться кнопки.

Всем привет. В чём проблема? Вот код:
Код:
#include "mainwindow.h"
#include <QApplication>
#include <QtCore>
#include <QtGui>
#include <QPushButton>
#include <QBoxLayout>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    QWidget wgt;
    QPushButton *pcmdA = new QPushButton("A");
    QPushButton *pcmdB = new QPushButton("B");
    QPushButton *pcmdC = new QPushButton("C");

    QBoxLayout *pbxLayout = new QBoxLayout(QBoxLayout::LeftToRight);
    pbxLayout->addWidget(pcmdA, 1);
    pbxLayout->addWidget(pcmdB, 2);
    pbxLayout->addWidget(pcmdC, 3);
    //От сюда
    wgt.setLayout(pbxLayout);

    wgt.resize(450, 40);
    //До сюда
    w.show();
    wgt.show();
    return a.exec();
}
Если я заменю тут
Код:
wgt.setLayout(pbxLayout);

wgt.resize(450, 40);
wgt на w, то есть сменю виджет на главное окно программы, то три кнопки не появяться нигде. Почему так? Моя ли эта ошибка невнимательности?
Доброго времени суток.
Мaкс вне форума Ответить с цитированием
Старый 13.07.2019, 19:37   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

1. QT и Qt разные вещи
2. https://doc.qt.io/qt-5/qmainwindow.html
Цитата:
A main window provides a framework for building an application's user interface.
Qt has QMainWindow and its related classes for main window management.
QMainWindow has its own layout to which you can add QToolBars, QDockWidgets, a QMenuBar, and a QStatusBar.
The layout has a center area that can be occupied by any kind of widget.
Цитата:
Note: Creating a main window without a central widget is not supported. You must have a central widget even if it is just a placeholder.
p51x вне форума Ответить с цитированием
Старый 13.07.2019, 19:40   #3
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 759
По умолчанию

Добрый вечер.
Цитата:
Сообщение от p51x Посмотреть сообщение
1. QT и Qt разные вещи
Я про Qt. Спасибо, что уточнили.
Цитата:
Сообщение от p51x Посмотреть сообщение
https://doc.qt.io/qt-5/qmainwindow.html
Почитал. Понял. Теперь буду знать. Спасибо.
Мaкс вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вместо изображения записи хочу использовать HTML arsmedia WordPress и другие CMS 0 07.04.2019 06:11
[C++] Вместо массива использовать двусвязный список ghostgames18 Помощь студентам 3 31.03.2019 17:22
[РЕШЕНО][C++] Вывести 100 первых натуральных чисел в столбик, если число делится нацело на 3 вывести вместо него fizz, если нацело на 5 — вывести bizz, если на 3 и на 5 — fizzbizz bylbyl9tor Помощь студентам 22 07.03.2019 21:37
Вместо меток использовать процедуры=(. DevilSun Помощь студентам 2 16.12.2010 23:09
Что можно использовать вместо динамических массивов. Evgen1503 Общие вопросы Delphi 8 14.01.2010 21:54


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840