Название: Как QWidget вставить в рабочее поле окна Отправлено: VVN от Сентябрь 01, 2011, 16:30 Уважаемые господа, здравствуйте.
Я совсем новичок в QT. Соответсвенно и вопросы не совсем :) Мне нужно сделать программную оболочку, которая принимает поток данных с USB протокол hid. Эти данные соответствующем образом обрабатываются и отображаются на экране. Несколько осциллоскопов + индикаторы. В качестве плоттеров планирую использовать библиотеку QWT. Сама программа стандартное Win окно с заголовком, меню, панелью инструментов и статусбар. Это все взял из примеров и модифицировал под свою задачу все работает. Построение программы стандартно из примеров. Функция main в которой создается экземпляр класса MainWindow Код: MainWindow::MainWindow(QWidget *parent) Но мне нужно, что бы при открытии программы, элементы отображения plot и все остальные находились на рабочем поле окна. Ну думаю нужно создать просто QWitget вместо QDialog и отобразить его. Вот уже три дня экспериментирую. Как говорится, читаю книги форумы а вижу …. Если взять следующий код Код: tabwg = new QTabWidget(this); То на экране виден свернутый tab который наползает на на заголовок меню и панель задач. Если ему сделать resize то он увеличивается но так и остается на месте. Пробовал много вариантов виджетов и с размещением в VBox-ах. Результаты от открытия в параллельном окне до предыдущего результата. Подскажите пожалуйста 1 Какой виджет мне использовать что бы на нем собрать каркас моего окна? 2 Как этот каркас вставить в рабочее поле окна и его нельзя было закрыть? Понимаю что вопросы очень примитивные, но что, то уперся, причем конкретно ;) Название: Re: Как QWidget вставить в рабочее поле окна Отправлено: popper от Сентябрь 01, 2011, 16:38 Тебе следует познакомится с менеджером компоновки
http://doc.qt.nokia.com/latest/widgets-and-layouts.html (http://doc.qt.nokia.com/latest/widgets-and-layouts.html) Название: Re: Как QWidget вставить в рабочее поле окна Отправлено: SeverusSnape от Сентябрь 01, 2011, 16:48 Цитировать MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { createActions(); createMenus(); createToolBars(); createStatusBar(); plot = new QwtPlot(this); setCentralWidget(plot); } Название: Re: Как QWidget вставить в рабочее поле окна Отправлено: SeverusSnape от Сентябрь 01, 2011, 16:49 Ну и как Вам указали в ответе выше - обратите внимание на Qlayout и его разновидности
Название: Re: Как QWidget вставить в рабочее поле окна Отправлено: VVN от Сентябрь 01, 2011, 16:57 setCentralWidget(plot); Вы волшебник, спасибо огромнейшее. Название: Re: Как QWidget вставить в рабочее поле окна Отправлено: SeverusSnape от Сентябрь 01, 2011, 17:05 Да ну, не за что. Главное обратите внимание на QGridLayout
Название: Re: Как QWidget вставить в рабочее поле окна Отправлено: VVN от Сентябрь 01, 2011, 17:23 Главное обратите внимание на QGridLayout Я на протяжении этих дней/ночей через это прошел. Основной смысл Layout понятен и ими нужно и буду пользоваться. Тут ключевое слово было setCentralWidget(plot); :) |