The editor is created only when a particular cell needs editing, so in normal conditions at most one editor per view exists. You can make a persistant editor, but doing that for more than a few items slows down the application terribly.

Now the good news - you don't need a custom delegate The standard delegate can draw the checkbox for you if you use the Qt::CheckStateRole and return Qt::ItemIsUserCheckable among the flags for a particular item.