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

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

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

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

Ответ
 
Опции темы
Старый 13.07.2019, 19:34   #1
Мaкс
Ученик
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 585
Вопрос 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, 20:37   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,095
По умолчанию

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, 20:40   #3
Мaкс
Ученик
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 585
По умолчанию

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


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