我正在显示QTableWidget,并希望它在选中此表中的某个项目并且用户在QTableWidget区域外单击后消失。
connect(tableWidget, SIGNAL(itemClicked(QTableWidgetItem *)), tableWidget, SLOT(close()));
此行在选择项目后执行我想要的操作。它是一种让小部件在没有子类化的情况下单击它之后消失的方式(例如,我可以子类化并编写我自己的lostfocus事件处理程序,但没有子类化会更好)?
答案 0 :(得分:1)
让我们假设您有MainWidget,其中包含其中的所有内容。它有clicked()
信号。将其连接到某个插槽并在该插槽中隐藏tableWidget(tableWidget()->hide()
)
答案 1 :(得分:0)
这可能不是一个非常优雅的解决方案,但它可能有效:
QTableWidget
void QWidget::focusOutEvent ( QFocusEvent * event )
(当您失去焦点时关闭表格小部件)答案 2 :(得分:0)
我的解决方案是将QTableWidget放入QWidget并制作后者Qt :: Popup - 它完全符合我的需要