Russian Qt Forum
Сентябрь 22, 2024, 15:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: вопрос по формам  (Прочитано 2484 раз)
BuRn
Гость
« : Декабрь 04, 2011, 22:21 »

Интересует вот что, создать форму и заполнить ее виджетами можно прям из кода , путем создания элементов и добавление их на слой , после добавлять слой на форму , а можно это все сделать через дезайнер, но вот вопрос в том , что можно ли сделать в дизайнере часть виджета , т.е. к пример я хочу что бы у меня на форме было несколько tabWidget -ов , на которых расположенны разные элементы(на каждом виджете разные элементы ) , вот есть ли возможность сконструировать кусок гуи и потом его влепить в форм , т.е. что бы не делать вручную к примеру так
Код:
BAccept = new QPushButton(QString::fromLocal8Bit("Принять заказ"));
    BPrint = new QPushButton(QString::fromLocal8Bit("Печать чека"));
    Layout = new QGridLayout;
    HLayout = new QHBoxLayout;
    _HLayout = new QHBoxLayout;
    price = new QLineEdit;
    label = new QLabel;
    label->setText(QString::fromLocal8Bit("Принято наличных"));
    spacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
    discount = new QCheckBox;
    _tableWidget = new QTableWidget;
    _tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
    _tableWidget->setColumnCount(5);
    BAccept->setStyleSheet("min-height: 40px;");
    BPrint->setStyleSheet("min-height: 40px;");
    QTableWidgetItem *item1 =new QTableWidgetItem;
    item1->setText(QString::fromLocal8Bit("Наименование"));
    QTableWidgetItem *item2 =new QTableWidgetItem;
    item2->setText(QString::fromLocal8Bit("Цена"));
    QTableWidgetItem *item3 =new QTableWidgetItem;
    item3->setText(QString::fromLocal8Bit("Колличество"));
    QTableWidgetItem *item4 =new QTableWidgetItem;
    item4->setText(QString::fromLocal8Bit("Время"));
    QTableWidgetItem *item5 =new QTableWidgetItem;
    item5->setText(QString::fromLocal8Bit(""));
    _tableWidget->setHorizontalHeaderItem(0,item1);
    _tableWidget->setHorizontalHeaderItem(1,item2);
    _tableWidget->setHorizontalHeaderItem(2,item3);
    _tableWidget->setHorizontalHeaderItem(3,item4);
    _tableWidget->setHorizontalHeaderItem(4,item5);
а нарисовать его отдельно  виджетом без формы и добавлять потом на форму
Простите если что-то не так , попытался объяснить как мог
Записан
andrew.k
Гость
« Ответ #1 : Декабрь 04, 2011, 22:30 »

ну так а в чем разница?
ты вызываешь setupUi(this)
это создает виджеты, которые ты в дизайнере накатал.
После этого создавай свои собственные как тебе надо.

Либо делай свою часть формы как отдельный виджет и используй его целиком.
Смотря что тебя нужно.
Записан
BuRn
Гость
« Ответ #2 : Декабрь 04, 2011, 22:32 »

да разницы то нет , просто не хочется их вот так сказать "ручками" рисовать, хотелось бы в дезайнере
Записан
Fat-Zer
Гость
« Ответ #3 : Декабрь 05, 2011, 07:34 »

1) рисуешь/создаёшь класс для виджета.
2) в дизайнере на основную форму добавляешь обычный виджет (ну или тот от которого наследовал свой)
3) ПКМ->"преобразовать к..." и добавляешь свой виджет, а потом вабираешь его. (пишу по памяти)
4) Непонимающий?
5) PROFIT!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 21.