Skip to content

StandardTableView rows not visible with Fluent style on Windows (1.14.1) #10171

@carlvdh

Description

@carlvdh

Bug Description

Bug Description:
StandardTableView rows are not displayed when using Fluent style on Windows. The table headers are visible, buttons work, but the row content is completely invisible. The same code works correctly with Cupertino and Material styles.

fluent (default) | ❌ Rows invisible
fluent-light | ❌ Rows invisible
fluent-dark | ❌ Rows invisible
material-dark | ✅ Works
cupertino-dark | ✅ Works

Additional testing:

SLINT_BACKEND=winit-software does not fix the issue
Scroll buttons (set-current-row) work correctly when using a working style

Reproducible Code (if applicable)

use std::rc::Rc;
use slint::VecModel;

slint::slint! {
    import { StandardTableView, VerticalBox, Button } from "std-widgets.slint";
    
    export global TableAdapter {
        in-out property <[[StandardListViewItem]]> row-data: [];
    }
    
    export component MainWindow inherits Window {
        title: "StandardTableView Test";
        width: 500px;
        height: 400px;
        
        VerticalBox {
            table := StandardTableView {
                columns: [
                    { title: "ID", width: 60px },
                    { title: "Name", width: 300px },
                ];
                rows: TableAdapter.row-data;
            }
            
            Button {
                text: "Scroll to row 50";
                clicked => {
                    table.set-current-row(50);
                }
            }
        }
    }
}

fn main() {
    let app = MainWindow::new().unwrap();
    
    let row_data: Rc<VecModel<slint::ModelRc<slint::StandardListViewItem>>> = Rc::new(VecModel::default());
    
    for id in 1..=200 {
        let items = Rc::new(VecModel::default());
        items.push(slint::format!("{}", id).into());
        items.push(slint::format!("Artist Name {}", id).into());
        row_data.push(items.into());
    }
    
    app.global::<TableAdapter>().set_row_data(row_data.into());
    app.run().unwrap();
}

Environment Details

Environment:

Slint Version: 1.14.1
Platform/OS: Windows
Programming Language: Rust
Backend/Renderer: Default (winit/femtovg), also tested with winit-software

Product Impact

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    a:widgetsImplementation of widgets (from std-widgets.slint) and their styles (mF,bS)need triagingIssue that the owner of the area still need to triage

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions