2017-12-20 14 views
1

내 코드 주 창 고정 크기 설정 .mp3 파일을 열면 이제 다른 파일 형식을 열면 기본 창 크기를 조정해야합니다. 다른 파일 형식을 열면 크기를 조정하는 방법.이 시도 : this->setFixedSize(this->sizeHint());설정하는 방법 setFixedSize 후 주 창 크기 조정 다시 사용

이것은 내 코드입니다.

void MainWindow::on_actionOpen_triggered() 
{ 
    QString filename= QFileDialog::getOpenFileName(this,"Open Folder","","Open a File(*.*)"); 
    on_actionStop_triggered(); 
    player->setMedia(QUrl::fromLocalFile(filename)); 
    on_actionPlay_triggered(); 

    if(filename.endsWith(".mp3")){ 
     qDebug() << " file is mp3"; 
     this->setFixedSize(648,425); 

    }else{ 
     this->setFixedSize(this->sizeHint()); //this not working. 
    } 
} 

답변

3

다시 크기 조정 창을 만들려면,이 시도 :

if(filename.endsWith(".mp3")){ 
    qDebug() << " file is mp3"; 
    this->setFixedSize(648,425); 

}else{ 

    setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX); 
    setMinimumSize(0,0); 

    //now you should be able to resize it 
} 

하면, 그것은 고정 된 크기를 설정하기 전에 있던 크기하려는 클래스의 QSize 개인 회원이있는 경우

private: 
    QSize size_reset; 

과로 설정하기 전에 창 크기를 저장하는 데 사용할 고정 :

size_reset = this->size(); 
this->setFixedSize(648,425); 

는 창 크기 재설정 : 경우

setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX); 
setMinimumSize(0,0); 
this->resize(reset_size); 
+0

는,이 작동하는 이유는'단순히 지정된 값으로 최소 및 최대 크기를 설정 setFixedSize()'것을하지 분명하다 것을; 위의 명령은 기본값으로 다시 설정합니다. –

+0

멋지다, 저를 위해 일합니다. 정말 고마워요. – Learner