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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 13.07.2019, 19:34   #1
Мaкс
Ученик
Участник клуба
 
Регистрация: 12.06.2018
Сообщений: 563
Репутация: 58
Вопрос 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
Сообщений: 14,655
Репутация: 2631
По умолчанию

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
Сообщений: 563
Репутация: 58
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


18:59.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.