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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопросы по таблице  (Прочитано 2434 раз)
backdoor
Гость
« : Июнь 05, 2013, 12:38 »

Всем привет! Изучаю дизайнер и не могу найти ответов на пару вопросов.
1)В окне у меня вставлены вкладки, а во вкладки - таблицы. При растягивании окна, вкладка растягивается, а таблица - нет. Как можно исправить?

2)Можно ли в таблице, на каждый столбик, поставить по умолчанию свою ширину? Искал, а методов что-то не нашел(

Спасибо всем, кто не проходит мимо)
Записан
Странник
Гость
« Ответ #1 : Июнь 05, 2013, 13:01 »

1) добавить на вкладку компоновщик (ищите их на панели в верхней части окна дизайнера)
2)
Код:
QHeaderView * QTableView::horizontalHeader()
void QHeaderView::setDefaultSectionSize (int size)
Записан
backdoor
Гость
« Ответ #2 : Июнь 05, 2013, 14:27 »

1) добавить на вкладку компоновщик (ищите их на панели в верхней части окна дизайнера)
2)
Код:
QHeaderView * QTableView::horizontalHeader()
void QHeaderView::setDefaultSectionSize (int size)

1) разобрался, спасибо.
2) Насколько я понял, setDefaultSectionSize устанавливает одну ширину для всех колонок. А мне надо наоборот разная ширина всех колонок по умолчанию.

+ есть еще вопрос ламерский:
Когда мы пишем все вручную, то создаем кучу файлов, где описываем под каждый виджет или группу виджетов свои приватные методы, слоты, сигналы. Пишем это все сами.
А когда мы делаем это все в дизайнере, создается ui файл, из которого МОС потом сам компилит код с наследованиями и методами. Вот подскажите, есть у меня виджет "вкладка", все, что можно в дизайнере я сделал, но мне надо добавить еще пару приватных методов для решения своей задачи. Как лучше поступить? Можно ли добавить заголовочный и срр файл, в котором так же вручную занаследовать вкладку от QWidget, создать объект с таким же именем, как и в дизайнере и работать с ним через "ui->" ?
Записан
Странник
Гость
« Ответ #3 : Июнь 05, 2013, 14:44 »

1) разобрался, спасибо.
2) Насколько я понял, setDefaultSectionSize устанавливает одну ширину для всех колонок. А мне надо наоборот разная ширина всех колонок по умолчанию.

+ есть еще вопрос ламерский:
Когда мы пишем все вручную, то создаем кучу файлов, где описываем под каждый виджет или группу виджетов свои приватные методы, слоты, сигналы. Пишем это все сами.
А когда мы делаем это все в дизайнере, создается ui файл, из которого МОС потом сам компилит код с наследованиями и методами. Вот подскажите, есть у меня виджет "вкладка", все, что можно в дизайнере я сделал, но мне надо добавить еще пару приватных методов для решения своей задачи. Как лучше поступить? Можно ли добавить заголовочный и срр файл, в котором так же вручную занаследовать вкладку от QWidget, создать объект с таким же именем, как и в дизайнере и работать с ним через "ui->" ?
ну так и ставьте ширину через void QTableView::setColumnWidth при инициализации.

Унаследуйтесь от QWidget и реализуйте необходимые методы. Добавьте на форму в дизайнере обычный QWidget, затем щелкните по нему правой кнопкой и в контекстном меню выберите пункт "Преобразовать в...".
Записан
backdoor
Гость
« Ответ #4 : Июнь 05, 2013, 21:57 »

1) разобрался, спасибо.
2) Насколько я понял, setDefaultSectionSize устанавливает одну ширину для всех колонок. А мне надо наоборот разная ширина всех колонок по умолчанию.

+ есть еще вопрос ламерский:
Когда мы пишем все вручную, то создаем кучу файлов, где описываем под каждый виджет или группу виджетов свои приватные методы, слоты, сигналы. Пишем это все сами.
А когда мы делаем это все в дизайнере, создается ui файл, из которого МОС потом сам компилит код с наследованиями и методами. Вот подскажите, есть у меня виджет "вкладка", все, что можно в дизайнере я сделал, но мне надо добавить еще пару приватных методов для решения своей задачи. Как лучше поступить? Можно ли добавить заголовочный и срр файл, в котором так же вручную занаследовать вкладку от QWidget, создать объект с таким же именем, как и в дизайнере и работать с ним через "ui->" ?
ну так и ставьте ширину через void QTableView::setColumnWidth при инициализации.

Унаследуйтесь от QWidget и реализуйте необходимые методы. Добавьте на форму в дизайнере обычный QWidget, затем щелкните по нему правой кнопкой и в контекстном меню выберите пункт "Преобразовать в...".

ладно, то понятно. вот еще. есть класс MainWindow. я дописал в h файл и cpp просто свой слот(mySlot). и сразу ошибка линковщика: "не удается открыть файл .exe"
Код:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
   
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
   
private slots:
    void on_reconnectButton_clicked();
    void mySlot();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

Код:
#include <QtGui>
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_reconnectButton_clicked()
{

}

void MainWindow::mySlot()
{

}
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #5 : Июнь 05, 2013, 22:21 »

надо закрывать программу перед построением
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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