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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: CentralWidget  (Прочитано 8729 раз)
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« : Ноябрь 22, 2009, 23:53 »

Можно ли в дизайнере поставить в качестве CentralWidget ListWidget? Или мне все время после qmake придется изменять заголовочный файл? setCantralWidget(listWidget)?
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Ноябрь 23, 2009, 00:16 »

Вроде до сих пор нельзя
>>Или мне все время после qmake придется изменять заголовочный файл?
А зачем заголовочный менять? Используй в своём коде setCantralWidget(listWidget), после setupUi(this)
Записан

Юра.
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #2 : Ноябрь 23, 2009, 00:18 »

А ну да вообще-то.. но чет дизайнером создается столько лишнего кода(не только в Qt), похоже лучше вручную все написать..
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #3 : Ноябрь 23, 2009, 00:22 »

После qmake помимо моих виджетов создается еще один QWidget, который делается центральным...имхо - бред...лишние действия просто..
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
spectre71
Гость
« Ответ #4 : Ноябрь 23, 2009, 00:29 »

Вроде до сих пор нельзя
>>Или мне все время после qmake придется изменять заголовочный файл?
А зачем заголовочный менять? Используй в своём коде setCantralWidget(listWidget), после setupUi(this)

Можно не париться и просто положить в дизайнере свой(listWidget) на CantralWidget

После qmake помимо моих виджетов создается еще один QWidget, который делается центральным...имхо - бред...лишние действия просто..

О чем речь?
"помимо моих виджетов создается еще один QWidget"
"еще один" - уже не твой ? Улыбающийся
и при чем здесь qmake ?

Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #5 : Ноябрь 23, 2009, 00:36 »

Цитировать
О чем речь?
"помимо моих виджетов создается еще один QWidget"
"еще один" - уже не твой ? 
и при чем здесь qmake ?
После компиляции в заголовочном файле ui_mainWindow.h сначала создается QWidget, который применяется как центральный.
Код:
QWidget *centralwidget;//автоматически создается
    QVBoxLayout *verticalLayout;
    QTextEdit *textEdit;
    QStatusBar *statusbar;
    QToolBar *toolBar;
...
if (MainWindow->objectName().isEmpty())
            MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
        MainWindow->resize(201, 347);
        centralwidget = new QWidget(MainWindow);
        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
        verticalLayout = new QVBoxLayout(centralwidget);
        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
        textEdit = new QTextEdit(centralwidget);
        textEdit->setObjectName(QString::fromUtf8("textEdit"));
        verticalLayout->addWidget(textEdit);
        MainWindow->setCentralWidget(centralwidget);//вот он применяется
...
Нахрена он мне нужен? Я конечно понимаю что это не критично вовсе, но бесит Улыбающийся
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
spectre71
Гость
« Ответ #6 : Ноябрь 23, 2009, 00:45 »

После компиляции в заголовочном файле ui_mainWindow.h сначала создается QWidget, который применяется как центральный.Нахрена он мне нужен? Я конечно понимаю что это не критично вовсе, но бесит Улыбающийся

Вот именно - не критично и это главное!
Так что не парься. Улыбающийся
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #7 : Ноябрь 23, 2009, 00:51 »

Так все-таки можно в дизайнере CentralWidget применить или нет? Когда ListWidget находится на другом CentralWidget он ведет себя не так как надо..т.е. растягивается не на всю рабочую область..
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
spectre71
Гость
« Ответ #8 : Ноябрь 23, 2009, 01:14 »

Так все-таки можно в дизайнере CentralWidget применить или нет? Когда ListWidget находится на другом CentralWidget он ведет себя не так как надо..т.е. растягивается не на всю рабочую область..

Примени Layout
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #9 : Ноябрь 23, 2009, 09:53 »

Вообще это действительно касяк с дизайнером. Я пробовал руками Ui-файл править, т.е. удалял промежуточный QWidget, uic адекватно эту модификацию переваривает.
Записан

Юра.
_govorilka
Гость
« Ответ #10 : Ноябрь 23, 2009, 15:23 »

Поставить можно, если открыть Ui файл в блокноте (текстовом редакторе) и исправить вот эту строку:

Код:
<widget class="QWidget" name="centralWidget" />

на вот такую:

Код:
<widget class="QListWidget" name="centralWidget" />

В конструкторе нужно установить данный виджет как центральный через функцию QMainWindow::setCentralWidget()
Если указанную выше строчку удалить, то создавать widget Qt не будет, при этом дизайнер будет работать корректно.

« Последнее редактирование: Ноябрь 23, 2009, 15:28 от _govorilka » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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