Название: qtreeview активное окно Отправлено: koldun90 от Июнь 20, 2014, 10:07 Здравствуйте как отследить текущее активное окно
у меня есть два окна: treeviewи treeview2 так вот как мне отследить какое окно активно при переключении по ним мышкой. метод isActiveWindow не помогает. в обоих Тривиевах представлена файловая система, но мне нужно остледить не клик по дереву файловой системы ,а просто переключение между окнами. Код: void MainWindow::activazia(int okno) Код: void MainWindow::pushbutton_clicked() Сначало я активирую левое окно нажимаю кнопку но выполняется условие Код: msg.setText(QString::fromLocal8Bit("Активно правое окно")); , а должно выполняться условие Код: msg.setText(QString::fromLocal8Bit("Активно левое окно")); Вообщем почему то всегда у меня активно правое окно почему не знаю Название: Re: qtreeview активное окно Отправлено: carrygun от Июнь 20, 2014, 10:18 А hasFocus() пробовали?
Название: Re: qtreeview активное окно Отправлено: koldun90 от Июнь 20, 2014, 10:25 Код: hasfocus() заместо Код: isActiveWindow() Еще вопрос а возможно как то treeview вывести модель файловой системы + подключенные сменные носитель( флешки) в linux те чтоб было вот так +"/" +(подключенная флешка(метка тома)) Просто когда отображаешь qfilesystemmodel в windows7 то он отображает изначально как бы подключенные носители ,а если допустим в линуксе то он выводит только каталог "/" (чисто все файловую систему) Название: Re: qtreeview активное окно Отправлено: Igors от Июнь 20, 2014, 10:33 isActiveWindow сработает для окна но не виджета внутри. Используйте hasFocus() или viewport().hasFocus() (один из них должен сработать :))
Название: Re: qtreeview активное окно Отправлено: GreatSnake от Июнь 20, 2014, 10:37 Код
Название: Re: qtreeview активное окно Отправлено: koldun90 от Июнь 20, 2014, 10:46 Вообщем проблему решил так
Код: void mytreeview::mousePressEvent(QMouseEvent *event) //при нажатии пкм Код: void MainWindow::activazia(int okno) Название: Re: qtreeview активное окно Отправлено: koldun90 от Июнь 20, 2014, 10:52 А по поводу второго вопроса можете помочь как отобразить файловую систему не толmrj корень "/"
а еще и подключены съемные носители подскажите в какую сторону нужно копать ? что переопределять и тд? Чтоб файловую ситему отображало примерно как в винде Название: Re: qtreeview активное окно Отправлено: Igors от Июнь 20, 2014, 11:04 Зависит от того что за "окно" имеется ввиду. Если это само QTreeWidget - то hasFocus, если "то окно в котором QTreeWidget то window()->isActivеWindow(). И неясно зачем это искать - если Вы получили mousePressEvent то фокус на нем уже и стоит и его окно активно. И "активазия" может случиться не только по мыше, поэтому лучше перекрывать focusInEvent/focusOutEvent
|