qt::mouseDoubleClickEvent不';设置ui时无法工作
好的,代码很短,如下所示:qt::mouseDoubleClickEvent不';设置ui时无法工作,qt,mouseevent,double-click,Qt,Mouseevent,Double Click,好的,代码很短,如下所示: MainWindow::MainWindow() : QMainWindow(), ui(new Ui::MainWindow) { //ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow:: mouseDoubleClickEvent ( QMouseEvent * event ) { cout <<
MainWindow::MainWindow() :
QMainWindow(),
ui(new Ui::MainWindow)
{
//ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow:: mouseDoubleClickEvent ( QMouseEvent * event )
{
cout << "being double clicked" << endl;
}
void MainWindow:: mousePressEvent(QMouseEvent *){
cout << "being clicked once " << endl;
}
MainWindow::MainWindow():
QMainWindow(),
用户界面(新用户界面::主窗口)
{
//用户界面->设置用户界面(此);
}
MainWindow::~MainWindow()
{
删除用户界面;
}
void主窗口::mouseDoubleClickEvent(QMouseEvent*事件)
{
cout鼠标单击事件将始终发送到您单击的对象。这意味着,如果您在整个主窗口上有一个按钮,并且双击该按钮,则将调用QPushButton::mouseDoubleClickEvent()
,而不是主窗口中的事件
如果您不想在子窗口小部件的子类中实现这些功能,或者子窗口小部件不提供类似于clicked()
信号的功能,则可以使用事件过滤器技术:
不,这不适用!!!我没有其他东西,它只是一个主窗口!!!!在ui设置之前,它是好的,但是之后,它不是!!!!!!!!!即使你没有显式地设置一些东西,setupUI
通常会创建一个“中心小部件”将接收事件而不是主窗口。请尝试执行ui->centralWidget->installEventFilter(此)
并在您的主窗口中实现eventFilter
方法
您好,非常感谢您的帮助,但它似乎不起作用。即使eventFilter似乎也没有收到双击事件,这有多奇怪!!!!!!!!!