2012-01-28 26 views

risposta

3

Questo bordo tratteggiato grigio indica che il widget è attivo.

L'impostazione di seguito a livello di widget dovrebbe fare il trucco.

setFocusPolicy(Qt::NoFocus) 
5

qApp->setStyleSheet (" QTableWidget::item:focus { border: 0px }");

+1

quasi. ma se utilizziamo un colore di sfondo alternato, cambia il colore di sfondo della selezione in un colore di sfondo alternato. Aggiungi questa correzione 'QTableWidget :: item: focus {border: 0px; background-color: # } ' – swdev

5

C++: tableWidget->setFocusPolicy(Qt::NoFocus);

Python: tableWidget.setFocusPolicy(QtCore.Qt.NoFocus)

essere consapevoli del fatto che si perde la capacità di elaborare gli eventi della tastiera, ma gli eventi del mouse funzionerà bene.

6

Il modo più semplice per farlo per me senza influenzare la politica messa a fuoco di widget e utilizzando QSS è quello di creare la seguente delegato personalizzato e installarlo per la tabella:

* .h:

class FocusControlDelegate : public QStyledItemDelegate { 
    public: 
     FocusControlDelegate(QObject *parent = 0); 
     virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const;   
     void setFocusBorderEnabled(bool enabled); 

    protected: 
     bool f_focus_border_enabled; 
    }; 

* cpp:

FocusControlDelegate::FocusControlDelegate(QObject *parent) : QStyledItemDelegate(parent) { 
    f_focus_border_enabled = false; 
} 

void FocusControlDelegate::setFocusBorderEnabled(bool enabled) { 
    f_focus_border_enabled = enabled; 
} 

void FocusControlDelegate::initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const { 
    QStyledItemDelegate::initStyleOption(option, index); 
    if(!f_focus_border_enabled && option->state & QStyle::State_HasFocus) 
     option->state = option->state & ~QStyle::State_HasFocus; 
} 
+0

funziona perfettamente, grazie mille –

-1

QPushButton { schema: nessuno; }

3

Sembra che si desideri rimuovere il bordo quando la cella viene messa a fuoco.

Provare a modificare il foglio di stile come segue.

QTableWidget { 
    outline: 0; 
} 

Questo ha funzionato perfettamente per me.

+0

vera e semplice risposta –

Problemi correlati