您好,我将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()));