Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2019, 18:34   #1
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
Вопрос 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,695
По умолчанию

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
Сообщений: 831
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вместо изображения записи хочу использовать 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