crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QDialog не убирается на экране
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
JuryS1806 Дата 31.1.2010, 6:35
  Еще более изящное решение проблемы:

Создаю класс : public QScrollArea

как обычно создаю layout объектов, дальше помещаю его в QWidget и во избежание всяких кособоких отображений просчитываю геометрию, исходя из разрешения экрана:

QWidget *myWidget = new QWidget();
myWidget->setLayout(mainLayout);
setWidget(myWidget);

int myHeight, myWidth, myPosX, myPosY,isScroll=5;
if (myWidget->height()>QApplication::desktop()->height()-100)
{
    myHeight = QApplication::desktop()->height()-100;
    isScroll = 20;
}
else myHeight = myWidget->height()+5;
myWidth = myWidget->width()+isScroll; //+20 если будет скроллбар вертикальный
myPosX = QApplication::desktop()->width()/2-myWidth/2;
myPosY = (QApplication::desktop()->height() - myHeight)/2;
          setGeometry(myPosX,myPosY,myWidth,myHeight);
JuryS1806 Дата 31.1.2010, 5:34
  Всем доброго времени суток. Имею QDialog, размер которого может быть разным в процессе работы программы.

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

Попробовал вместо QDialog использовать QScrollArea. Таже ситуация.
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); также не помогает. отрисовывает вертикальную прокрутку, но ничего не происходит

Если делаю setFixedHeight(600);
то все виджеты уменьшаются то нечитабельно размера и все тут !

Прошу помочь :unsure:

Все заработало !

Сделал так:
     QScrollArea *scrollView = new QScrollArea();
    ConeEditDialog* dialog = new ConeEditDialog(LabObject,CurrentPrs,myContext);
    scrollView->setWidget(dialog);
    scrollView->show();
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 16.4.2024, 18:53