gpt4 book ai didi

带有样式表的 QTableWidget 不滚动项目

转载 作者:行者123 更新时间:2023-12-04 13:31:41 28 4
gpt4 key购买 nike

在下面的代码中有两个样式表:problemStylesheet 和 okStylesheet。当我为 QTableWidget 使用 okStylesheet 时一切正常。标签在滚动。问题是如果我使用 problemStylesheet,标签不会滚动。什么会导致这个问题?我试图找到解决方案,但找不到任何可能有用的信息。

Qt 4.8.0,Mac OS X Lion。

示例代码:

#include <QtGui>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QWidget *baseWidget = new QWidget;

QTableWidget *tableWidget = new QTableWidget(baseWidget);
tableWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
tableWidget->setColumnCount(1);

tableWidget->horizontalHeader()->setVisible(false);
tableWidget->verticalHeader()->setVisible(false);

tableWidget->horizontalHeader()->setStretchLastSection(true);
tableWidget->verticalHeader()->setDefaultSectionSize(52);

tableWidget->setShowGrid(false);

tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);

QString problemStylesheet = "QTableWidget { background-color: green; } QTableWidget::item { border: 1px solid #000; }";
QString okStylesheet = "QTableWidget { } QTableWidget::item { border: 1px solid #000; }";

tableWidget->setStyleSheet(problemStylesheet);

tableWidget->setRowCount(20);
for (int i = 0; i < 20; ++i) {
QLabel *label = new QLabel(QString("").setNum(i), tableWidget);
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
tableWidget->setCellWidget(i, 0, label);
}

QVBoxLayout *verticalLayout = new QVBoxLayout();
verticalLayout->setMargin(0);
verticalLayout->setSpacing(0);
verticalLayout->setContentsMargins(0, 0, 0, 0);

baseWidget->setLayout(verticalLayout);

verticalLayout->addWidget(tableWidget);

baseWidget->show();

return app.exec();
}

更新: 在 Linux 和 Windows 上似乎一切正常。所以这个问题只出现在 Mac OS 上。

最佳答案

根据我的经验,当我在 MAC 上运行我的应用程序时,我经常从 NSScrollWheel 收到调试消息。

我建议在 MAC 上使用 qt 时避免 ScrollView

关于带有样式表的 QTableWidget 不滚动项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9485211/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com