我的QSpinBox
中有QWidget
,我只想在QLabel
获得QImage
时设置。是否有任何功能或工具可以在任何条件下设置QSpinBox
?
在这里,我的工作方式如下:
首先,我声明一个QSpinBox
对象并设置它的最大值
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
按下QPushButton
,用户可以加载图片,该图片将显示在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
。
感谢您提供任何帮助。
答案 0 :(得分:1)
您可以尝试使用QSpinBox::setEnabled(bool)
功能,其中QSpinBox::setEnabled(true)
将启用您的SpinBox
,类似地QSpinBox::setEnabled(false)
将禁用此功能。
我认为您可以更好地在QSpinBox
函数内声明MainWindow
并将其禁用。所以你可以试试这个。
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
}
}
希望它会对你有所帮助。