c++ - QLabel 在 Qt 中获取 QImage 时如何设置 QSpinBox?

标签 c++ qt

我的 QWidget 中有 QSpinBox,我只想在 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 我是如何尝试获取的。

如果您能提供任何形式的帮助,我将不胜感激。

最佳答案

您可以尝试使用QSpinBox::setEnabled(bool) 函数,其中QSpinBox::setEnabled(true) 将启用您的SpinBox 并且类似地QSpinBox::setEnabled(false) 将禁用它。

我认为您最好在 MainWindow 函数中声明 QSpinBox 并将其禁用。所以你可以试试这个。

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
    }    
}

希望对你有所帮助。

关于c++ - QLabel 在 Qt 中获取 QImage 时如何设置 QSpinBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46921691/

相关文章:

c++ - C/C++ - Mac OS X - 检查文件是否存在

c++ - 在 Visual Studio 2019 中使用 Qt 时出错

qt - QAbstractItemView 向模型询问无效索引

c++ - 如何编译支持文本编解码器的 Qt 库 4.7.1?

java - SWIG 生成的名称太长

c++ - QStandardItemModel 中项目的重新分配

c++ - Voro++可以在Visual Studio中编译吗

c++ - 这个语句返回什么?

c++ - 在数据轰炸时优化 QPlainTextEdit 小部件?

c++ - 鼠标可调整大小、可拖动小部件