2016-08-30 34 views
1
QGLWidget w = new QGLWidget(); 
w->makeCurrent(); 
QString str = w->format(); //error:no suitable conversion from QGLFormat to QString 

在上面的代码:如何转换QGLFormat到的QString

W->格式(); //返回QGLFormat

返回类型为“QGLFormat”但我想隐蔽到“QString”,我该怎么做。

+3

获取每个参数并将其写入字符串。没有人需要这样做,所以没有特殊的功能。 – Velkan

+0

是否要将其转换为'QString'以便向用户显示,或者是否希望在调试输出中看到它(即'qDebug()<< w-> format();')。请编辑该问题以澄清,因为答案会因此而有所不同。 –

+0

我想将其转换为QString以显示给用户,而不是在调试输出中看到。 –

回答

1

QGLFormat包含许多属性,所以要将它转换为QString,您需要将必需的属性连接成单个字符串。

QGLFormat format = ... 
QString str = "Info:\n"; 

str += "version:" QString::number(format.majorVersion()) + "\n"; 
str += "red buffer size:" + QString::number(format.redBufferSize()) + "\n"; 
str += "green buffer size:" + QString::number(format.greenBufferSize()) + "\n"; 
str += "blue buffer size:" + QString::number(format.blueBufferSize()); 

// Here you can use 'str' as a QString