我想在QComboBox
. 但为此,我需要知道 QComboBox 的宽度。当我这样称呼时:
ui->qcombobox->width()
我得到的值不正确(实际宽度约为 260 像素,但结果宽度始终为 100 像素)。
问题:
如何获得 QComboBox 的实际宽度?
或者
如何裁剪文本取决于 QComboBox 宽度?
我想在QComboBox
. 但为此,我需要知道 QComboBox 的宽度。当我这样称呼时:
ui->qcombobox->width()
我得到的值不正确(实际宽度约为 260 像素,但结果宽度始终为 100 像素)。
问题:
如何获得 QComboBox 的实际宽度?
或者
如何裁剪文本取决于 QComboBox 宽度?
您正在调用ui->qcombobox->width()
构造函数。Combobox 的大小尚未在此步骤中计算。您需要等到第一次showEvent
发生。尝试这样的事情:
void MainWindow::showEvent(QShowEvent *e)
{
QMainWindow::showEvent(e);
qDebug() << ui->qcombobox->width();
}
为了在创建小部件时填充组合框,您需要执行以下操作:
void MainWindow::showEvent(QShowEvent *e)
{
QMainWindow::showEvent(e);
if (!mWasFilled) {
mWasFilled = true;
fillCombobox();
}
}