diff --git a/deepin-devicemanager/src/Widget/DriverListView.cpp b/deepin-devicemanager/src/Widget/DriverListView.cpp index 6f5f4205..c06ffe4d 100644 --- a/deepin-devicemanager/src/Widget/DriverListView.cpp +++ b/deepin-devicemanager/src/Widget/DriverListView.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2019 ~ 2020 UnionTech Software Technology Co.,Ltd +// Copyright (C) 2019-2026 ~ 2020 UnionTech Software Technology Co.,Ltd // SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -109,7 +109,12 @@ void DriverListView::drawRow(QPainter *painter, const QStyleOptionViewItem &opti auto *style = dynamic_cast(DApplication::style()); - auto radius = style->pixelMetric(DStyle::PM_FrameRadius, &options); + auto radius = 8; + if (style) { + radius = style->pixelMetric(DStyle::PM_FrameRadius, &options); + } else { + qCWarning(appLog) << "Failed to get DStyle, using default radius"; + } //根据实际情况设置颜色,奇数行为灰色 auto palette = options.palette; QBrush background; diff --git a/deepin-devicemanager/src/Widget/DriverListViewDelegate.cpp b/deepin-devicemanager/src/Widget/DriverListViewDelegate.cpp index d2e5337a..9b9db6bf 100644 --- a/deepin-devicemanager/src/Widget/DriverListViewDelegate.cpp +++ b/deepin-devicemanager/src/Widget/DriverListViewDelegate.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2019 ~ 2020 UnionTech Software Technology Co.,Ltd +// Copyright (C) 2019-2026 ~ 2020 UnionTech Software Technology Co.,Ltd // SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -77,7 +77,12 @@ void DriverListViewDelegate::paint(QPainter *painter, const QStyleOptionViewItem } } DStyle *style = dynamic_cast(DApplication::style()); - int margin = style->pixelMetric(DStyle::PM_ContentsMargins, &option); + int margin = 10; + if (style) { + margin = style->pixelMetric(DStyle::PM_ContentsMargins, &option); + } else { + qCWarning(appLog) << "Failed to get DStyle, using default margin"; + } //设置高亮文字色 DGuiApplicationHelper *dAppHelper = DGuiApplicationHelper::instance(); DPalette palette = dAppHelper->applicationPalette(); diff --git a/deepin-devicemanager/src/Widget/logviewheaderview.cpp b/deepin-devicemanager/src/Widget/logviewheaderview.cpp index 2acfd3de..0194eb03 100644 --- a/deepin-devicemanager/src/Widget/logviewheaderview.cpp +++ b/deepin-devicemanager/src/Widget/logviewheaderview.cpp @@ -187,7 +187,12 @@ int LogViewHeaderView::sectionSizeHint(int logicalIndex) const QStyleOptionHeader option; initStyleOption(&option); DStyle *style = dynamic_cast(DApplication::style()); - int margin = style->pixelMetric(DStyle::PM_ContentsMargins, &option); + int margin = 10; + if (style) { + margin = style->pixelMetric(DStyle::PM_ContentsMargins, &option); + } else { + qCWarning(appLog) << "Failed to get DStyle, using default margin"; + } QFontMetrics fm(DApplication::font()); QString buf = model()->headerData(logicalIndex, Qt::Horizontal, Qt::DisplayRole).toString();