所以我想给我的按钮添加一些样式。因此,我创建了一个从QPushButton派生的类。我已经重写了mousePressEvent和mouseReleaseEvent函数。到目前为止还好。一切都按预期工作,按钮在按下和释放时会改变颜色。当我在MainWindow中尝试实现on_button_clicked()时,问题就出现了。就是行不通。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
void MainWindow::on_characters_clicked()
{
qDebug("Hello");
}
void Button::mousePressEvent(QMouseEvent* event)
{
setStyleSheet(defaultStyle + "Background-color: gray;");
}
void Button::mouseReleaseEvent(QMouseEvent* event) {
setStyleSheet(defaultStyle + "Background-color: darkgray; border: 1px solid gray; color: white;");
}
当重写方法时,您正在修改类的行为,在这种情况下,单击的信号是在mouseReleaseEvent中发出的,但是只有当mousePressEvent接受事件时才调用mouseReleaseEvent,但是在修改代码时,您已经消除了该事件。解决方案是调用父级的实现。
void Button::mousePressEvent(QMouseEvent* event)
{
setStyleSheet(defaultStyle + "Background-color: gray;");
QPushButton::mousePressEvent(event);
}
void Button::mouseReleaseEvent(QMouseEvent* event) {
setStyleSheet(defaultStyle + "Background-color: darkgray; border: 1px solid gray; color: white;");
QPushButton::mouseReleaseEvent(event);
}
另一方面,我认为没有必要重写mousePressEvent方法,因为Qt样式表支持伪状态:
setStyleSheet(R"(
Button{
// default styles
background-color: darkgray;
border: 1px solid gray;
color: white;
}
Button::presed{
// default styles
background-color: gray;
}
)");
问题内容: 我在我的角度web应用程序。 当我在浏览器中键入内容时,它会重定向到我期望的位置,但是当我单击时,它不会重定向,而是停留在url上。 我的控制台没有错误,我也不知道为什么。 当不再工作时 我在这里看到了一个类似的问题AngularUI-Router$urlRouterProvider。我尝试了答案,但它仍然对我不起作用。 这是我的coffeescript代码: 问题答案: 先前的解决方
问题内容: 我已经设置了版本4 的React。当我直接在浏览器中输入URL时,路由有效,但是当我单击链接时,URL在浏览器上发生了变化(例如http:// localhost:8080 / categories ),但是内容不会更新(但是如果我刷新,它会更新)。 以下是我的设置: 该 Routes.js 设置如下: 我在 Nav.js 中使用的链接如下: 该 App.js 如下: 问题答案: 包装
我有一个注释项目,在我的.user__comments__container div中有一个按钮id#see_more_comments,当注释超过4时,该按钮通过jquery post从getcomments-afunc.php文件输出。ajax.php的文件代码是: 现在,当它通过jquery post调用输出到我的index.php时,它就被注册了,可以在我的浏览器或DOM的elements
我对symfony框架知之甚少。我复制了一个网站www.example。net访问www.example。com站点使用url 它不会重定向。 谢谢
我已经可以切换到iframe,然后点击图像选择[如图1所示]然后不能点击div-预览按钮[如图2-蓝色按钮]这是“应用和关闭”。 知道吗?