Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
qt::mouseDoubleClickEvent不';设置ui时无法工作_Qt_Mouseevent_Double Click - Fatal编程技术网

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似乎也没有收到双击事件,这有多奇怪!!!!!!!!!