2012-01-28 36 views

Respuesta

3

Ese borde punteado gris indica que ese widget tiene foco.

Establecer lo siguiente en el nivel de widget debería hacer el truco.

setFocusPolicy(Qt::NoFocus) 
5

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

+1

casi. pero si usamos un color de fondo alternativo, cambia el color de fondo de la selección a un color de fondo alternativo. Agregue esta corrección 'QTableWidget :: item: focus {border: 0px; background-color: # } ' – swdev

5

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

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

Tenga en cuenta que va a perder la capacidad de procesar los eventos del teclado, pero los eventos de ratón funcionará bien.

6

La forma más fácil de hacerlo por mí sin afectar a la política de enfoque del widget y el uso de QSS es crear el siguiente delegado personalizada e instalarlo para la tabla:

* .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

funciona a la perfección, muchas gracias –

-1

QPushButton { esquema: ninguno; }

3

Parece que desea eliminar el borde cuando la celda se enfoca.

Intente editar la hoja de estilo de la siguiente manera.

QTableWidget { 
    outline: 0; 
} 

Esto funcionó perfectamente para mí.

+0

respuesta muy simple –

Cuestiones relacionadas