![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
edwardoid |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Опять проблема с QTabWidget. Мне нужно, чтобы класс главного окна понимал когда я выбрал один из таб из QTabWidget.
Т.е. если 3 вкладки и я сейчас работаю в первой вкладке, то выбрав вторую вкладку мне надо чтобы шел сигнал и я мог его обработать. Что тут неправильно:
в итоге вроде при выборе новой вкладки, переменная текущей вкладки, должна измениться, не так ли?
Причина редактирования: используйте тэг code (есть кнопочка)
|
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
т.е. currentPage должно быть типа QWidget * у тебя так? |
|
|
edwardoid |
![]()
Сообщение
#3
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Да так. проблема не в том.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
проверь в слот заходит?
диалог сообщения какой нибудь в начало слота воткни. и к стати доработай слот так:
тогда видеть будешь, что происходит |
|
|
ViGOur |
![]()
Сообщение
#5
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Если быть точнее, то нужно сделать так:
Где nIndex, номер выбранной тобой вкладки.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
вообще я в функции connect всегда указываю тип параметра сигнала, но, возможно, это не обязательно
|
|
|
edwardoid |
![]()
Сообщение
#7
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Page - класс содержания вкладок, там есть QTextEdit *edit Почему когда action_Select_all посылает сигнал triggered(), операция selectAll() выполняется не для текущей страницы?
Причина редактирования: используйте тэг code (есть кнопочка)
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
edwardoid |
![]()
Сообщение
#9
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
В конструкторе по дефолту делаю currentPage - 0-ую вкладку, именно с с ней и происходит selectAll().
С предыдущим вопросом да, все ок. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
вобщем выкладывай код, хотябы соращенный вариант, но повторяющий твою проблему.
|
|
|
edwardoid |
![]()
Сообщение
#11
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
CODE class MWindow: public QMainWindow, public MainWindow { ... Public: Page *currentPage; public slots: void setCurrent(); .... }; MWindow::MWindow(QWidget *parent): QMainWindow(parent) { ... connect(tabs,SIGNAL(currentChanged(int)), this, SLOT(setCurrent(int))); connect(action_Select_all,SIGNAL(triggered()),currentPage->Source,SLOT(selectAll())); ... } void MWindow::setCurrent(int nIndex) { currentPage=tab->widget(nIndex); } Source = элемент типа QTextEdit. Сообщение отредактировал edwardoid - 3.5.2008, 19:46 |
|
|
rich |
![]()
Сообщение
#12
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
Есть у табВиджета сигнал:currentChanged(int).не подойдет?в твоем случае сделать
switch() case на каждую вкладку.или тебе что то экзотическое нужно? |
|
|
edwardoid |
![]()
Сообщение
#13
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
edwardoid |
![]()
Сообщение
#14
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Еще вопрос, как вызвать resize() для всех вкладок,как только вызовется resize для самого QTabWidget
|
|
|
ViGOur |
![]()
Сообщение
#15
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
А зачем тебе ресайзить те вкладки, которые не используются, может лучше проверять соответствие размеров по событию выбора вкладки?
Иначе ИМХО пустая трата ресурсов! |
|
|
Litkevich Yuriy |
![]()
Сообщение
#16
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
изменять размер должен компоновщик, подозреваю что ты его неиспользушь, или я тебя непонял.
|
|
|
edwardoid |
![]()
Сообщение
#17
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ViGOur |
![]()
Сообщение
#18
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#19
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
это-то и хорошо
![]() |
|
|
edwardoid |
![]()
Сообщение
#20
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
одним вопросом меньше. работает превосходно... есть еще вопросы правда уже оффтопные))
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#21
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
edwardoid |
![]()
Сообщение
#22
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
да кстати, как можно добавить копочку в уголок вкладки. Заметьте, не в тело вкладки, а за корешок, где имя...
как в Файрфоксе? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.6.2025, 22:43 |