嗨,我在当前选项卡中放置了一个QPushButton作为QTabWidget的角部件来刷新QTableView。但如果我单击这个刷新按钮,我的QTableView就会失去焦点,因此高亮显示的行会变灰。除非我再次单击我的表视图,否则它将保持灰色。如有任何建议,我们将不胜感激。我的目标是让这个角落小部件像菜单或工具栏按钮一样,点击时不会改变犯规。
1(在第一种情况下,您可以尝试使用QFocusEvent(https://doc.qt.io/archives/qt-4.8/qfocusevent.html):
void focusOutEvent(QFocusEvent *)
{
setFocus();
}
2( 或者你可以这样试试。
用你的按钮从插槽发出自己的信号(在你的课堂上,你的按钮(:
signals:
void SignalEmitingFromSlotOfPushButton();
在QPushButton的插槽中,您需要发出此信号。例如:
void YourSlotForQPushButtonExample()
{
//some code
//do something
emit SignalEmitingFromSlotOfPushButton();
return;
}
现在你需要写插槽来接收你自己的信号:
void SlotForReceiveOwnSignal()
{
yourTableView->QWidget::setFocus();
return;
}
哦,记住连接
在构造函数中:
connect(this, SIGNAL(SignalEmitingFromSlotOfPushButton()),
this, SLOT(SlotForReceiveOwnSignal()));