LINUX.ORG.RU

А зачем? Ладно б ещё на 90 градусов (ориентацию на портретную поменять), я б понял.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Да мне надо на микрокомпьютере повернуть экран на 180 а то шлейф к экрану могу сломать. Вот по этому и спрашиваю как сделать.

Alex_Golubev
() автор топика
Ответ на: комментарий от deep-purple

Чтобы право стало левом или чтобы верх стал низом?

Если первое без второго, то это уже будет не разворот, а отражение.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Ну да при развороте право ---> лево, верх ---> низ.

Alex_Golubev
() автор топика
Ответ на: комментарий от rumgot

не разворот, а отражение

Ты уверен что правильно его понял? В любом случае по ссылке что я ему дал есть и то и то.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Вы меня не так поняли или я не объяснил что хочу. Мне нужно все изображение экрана повернуть. Как взять монитор и поставить к верх ногами.

Alex_Golubev
() автор топика
Ответ на: комментарий от Alex_Golubev

В рантайме — нет.

https://stackoverflow.com/questions/582185/how-to-disable-landscape-mode-in-a...

QML(?)

transform: Rotation {
    angle: 180
    origin.x: root.width / 2
    origin.y: root.height / 2
}

Qt(?)

QGraphicsScene *scene = new QGraphicsScene();
QGraphicsView *view = new QGraphicsView(parent);
view->setGeometry(0,0,X,Y); // actual Display size
view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
QGraphicsProxyWidget *proxy = scene->addWidget(this);
view->setScene(scene);
view->show();
view->rotate(90);

Короче гугли: qt change screen orientation

deep-purple ★★★★★
()
Последнее исправление: deep-purple (всего исправлений: 2)
Ответ на: комментарий от Alex_Golubev

Поменять что? Ориентацию всей картинки в мониторе или ориентацию отображаемых элементов в окне твоего приложения (которое, возможно, растянуто на весь экран, а возможно нет)?

deep-purple ★★★★★
()
Последнее исправление: deep-purple (всего исправлений: 2)
Ответ на: комментарий от Alex_Golubev

Дай больше информации, что за Qt на девайсе, во что он рисует, во фреймбуффер или eglfs и т. д.

EXL ★★★★★
()
Ответ на: комментарий от Alex_Golubev

Как повернуть картинку на кутэ я показал разных способов выше. Сменить ориентацию экрана чисто из кутэ нельзя. Можно лишь вызвать что-то внешнее, что занимается установкой ориентации. Но мой либастрал уже сломался — передаю тебя в руки EXL.

deep-purple ★★★★★
()
Ответ на: комментарий от Alex_Golubev

Qt 4.8.7 из buildroot рисует во фреймбуффер.

Для Qt 4 есть возможность перевернуть изображение, если добавить в command line запускаемой программы строку -display transformed:Rot270, после параметра -qws, или переменная окружения QWS_DISPLAY.

Для Qt 5 по идее есть переменная окружения QT_QPA_EGLFS_ROTATION, в которой можно сделать аналогичное, но там нет оконного сервера QWS.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от Alex_Golubev

Если тебе нужно ВСЕ ИЗОБРАЖЕНИЕ МОНИТОРА ПОВЕРНУТЬ, то это можно сделать через настройки графического окружения.

rumgot ★★★★★
()
Ответ на: комментарий от Alex_Golubev

Сделал вот так

Ну так сделай нормально.

export QWS_DISPLAY="-display transformed:Rot180"

P.S. Вот именно по этой причине говнистый Bash и прочие подобные Shell’ы должны умереть и уйти из мира Linux.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Пока писал вы уже успели ответить почему ошибка.

Применил команду # export QWS_DISPLAY="-display transformed:Rot180"

Но дисплей не перевернулся собака.

Alex_Golubev
() автор топика
Ответ на: комментарий от Alex_Golubev

Он не будет переворачиваться в рантайме, а только после холодного запуска из терминала где эта переменная окружения прописана.

И -display, насколько я помню, нужно убрать из переменной окружения:

export QWS_DISPLAY="Transformed:Rot180"

P.S. лучше не переменной делать, а просто запускать приложение как:

./app -qws -display transformed:Rot180

P.P.S. Чтобы всё работало Qt 4 обязательно должен быть собран с опцией -qt-gfx-transformed.

EXL ★★★★★
()
Ответ на: комментарий от rumgot

Если тебе нужно ВСЕ ИЗОБРАЖЕНИЕ МОНИТОРА ПОВЕРНУТЬ, то это можно сделать через настройки графического окружения.

Можно и монитор перевернуть, в конце-то концов. Был тут как-то такой товарищ, кто за вертикальными мониторами сидел.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

ТС уже раза два описал проблему. Что вы, дураки, сюда лезете? Свет увидели? Долбанные тролли (все, за исключением ЕХЛ)!

anonymous
()
Ответ на: комментарий от Zhbert

Был тут как-то такой товарищ, кто за вертикальными мониторами сидел.

Видимо он буквально понял рекомендацию делать функции такой длины, чтобы они вмещались в высоту монитора.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Вот честно признаюсь EXL не знаю что такое ./app -qws куда это нужно написать. Ранее программировал в другой среде делал системы реального времени. Потом решил освоить ядро линукс, вроде уже стал понимать как работать c dts конфигурировать ядро. Перешел на qt creator и вот тут еще не освоился. Поэтому прошу рассказать что вы понимаете под ./app -qws.

Alex_Golubev
() автор топика
Ответ на: комментарий от Alex_Golubev

Это то, как запускается у вас приложение. У вас ведь там нет X.Org, а Qt4 рисует во фреймбуффер.

P.S. Из-за того, что вы ответили не на моё сообщение, а на сообщение другого участника беседы, я пропустил ваш ответ и отвечаю лишь спустя несколько дней.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Экран повернулся. Сделал следующие: В buildroot Target packages → Graphic libraries and applications (graphic/text) → Qt (obsolete) → Graphics drivers →

  • Transformed

    В qt creator прописал в Arguments -qws -display transformed:Rot180

    При нажатие на RUN программа запустилась и перевернулась.

Alex_Golubev
() автор топика
Ответ на: комментарий от KivApple

Нет xrandr в мире embedded, потому что только глупый человек затянет туда жирные и монструозные иксы.

EXL ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.