2017-10-24 1 views
2

QWidgetQSpinBox이 있는데 QLabelQImage 인 경우에만 설정하려고합니다. 어떤 조건에서 QSpinBox을 설정할 수있는 기능이나 도구가 있습니까? 여기QLabel이 Qt에서 QImage를 가져올 때 QSpinBox를 설정하는 방법은 무엇입니까?

는 I은 우선

아래 주어진 일한 방법 I은 QSpinBox 객체를 선언하고, 사용자가 이미지를로드 할 수있는 가압하여 I는 QPushButton가 그것이

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this);   
} 

최대

의 설정 QLabel에 표시됩니다.

void MainWindow::on_Browse_clicked() 
{ 
    QFileDialog dialog(this); 
    dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)")); 
    dialog.setViewMode(QFileDialog::Detail); 
    QString imagefileName = QFileDialog::getOpenFileName(this, tr("Open File"), "Given_Path", tr("Images (*.png *.xpm *.jpg)")); 

    if(!imagefileName.isEmpty()) 
    { 
     image= QImage(imagefileName); 
     ui->label->setPixmap(QPixmap::fromImage(image)); 

     spinbox= new QSpinBox(this); 
     QPoint p(100,300); 
     spinbox->move(p);  
    } 
} 

그러나 내가 얻으려는 시도는 QSpinBox입니다.

귀하의 도움에 감사드립니다.

답변

1

함수를 사용해보십시오. QSpinBox::setEnabled(true)SpinBox을 활성화하고 마찬가지로 QSpinBox::setEnabled(false)은이 기능을 비활성화합니다.

내 생각에 QSpinBoxMainWindow 함수에 넣고 사용하지 않도록 설정하는 것이 더 좋습니다. 그래서 이것을 시도 할 수 있습니다.

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 
    spinbox= new QSpinBox(this); 
    QPoint p(100,300); 
    spinbox->move(p); 

    spinbox->setEnabled(false); //here disabled QSpinBox 
} 

그리고 내부 클릭 기능을 사용하도록 설정할 수 있습니다.

void MainWindow::on_Browse_clicked() 
{ 
    QFileDialog dialog(this); 
    dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)")); 
    dialog.setViewMode(QFileDialog::Detail); 
    QString imagefileName = QFileDialog::getOpenFileName(this, tr("Open File"), "Given_Path", tr("Images (*.png *.xpm *.jpg)")); 

    if(!imagefileName.isEmpty()) 
    { 
     image= QImage(imagefileName); 
     ui->label->setPixmap(QPixmap::fromImage(image));  

     spinbox->setEnabled(true); // Here enabled QSpinBox 
    }  
} 

희망이 있으면 도움이 될 것입니다.

+0

와우. 덕분에 많이, 그것은 내 문제를 멋지게 해결합니다. – Sanakum

+0

정말 도움이된다면이 답을 정확하고 유용하게 표시하시기 바랍니다. – Gansroy

관련 문제