惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
J
Java Code Geeks
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
雷峰网
雷峰网
D
DataBreaches.Net
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
V
Visual Studio Blog
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta

博客园 - 吾非无心

MSB4019 找不到导入的项目“C:\Users\...\AppData\Local\QtMsBuild\vs-debugtools\qt_import.props” - 吾非无心 - 博客园 类/结构最后一个成员为类(string)时可能会出现“堆损坏”(HEAP CORRUPTION DETECTED)错误 GCC在C语言中内嵌汇编 asm __volatile__ QT删除python中的单行注释 double转int QJson 存储(u)longlong有问题 QT QPixmap QImage内存泄漏 QMetaObject::connectSlotsByName: No matching signal for QT数据库连接管理类 QT6 源码编译Win32 x86 vc++高精度计时sleep stack smashing detected 莫名其妙的错误 strdump的问题 再加一个realloc的问题 linux下简单封装读写锁 codeblocks下libacl配置 centos8 安装、配置redis6 pyftpdlib中文乱码的解决之道 CentOS8让uwsgi开机自动启动django(无需登录,无需手动) libevent学习一
QT多重继承带来的问题及解决办法,记录备查
吾非无心 · 2023-05-08 · via 博客园 - 吾非无心

多重继承connect时编译通不过。

网上很多办法是将QObject作为第一继承,确实可以解决一些问题。

但,这又会带来新问题,ui里设置的stylesheet或在代码里使用setStyleSheet不会生效——除非对单个widget使用setStyleSheet

m_pLabel_title_main->setStyleSheet("font-size:16px;font-weight:bold;color:white;font-family:\"Microsoft YaHei\";");        //可以
m_pFrame_container_main_title->setStyleSheet("background-color:rgb(0,100,177);");                                                     //可以

这样就不可以:

【this->】setStyleSheet("\

QLabel[objectName^=\"label_title_\"]{\
font-weight:bold;\
color:red;\
}");

如果不考虑使用ui设计器里使用stylesheet,可以直接“将QObject作为第一继承”


QObject::connect(ui.pushButton_2, &QPushButton::clicked, this, &Dialog_exam_ready::on_btn_exit_clicked);

如果希望使用批量stylesheet,可以这样做:

class Dialog_exam_ready : /*public QObject,*/ public QDialog, public ITcpClient

QDialog* pThis = this;
QObject::connect(ui.pushButton_2, &QPushButton::clicked, pThis, [&]() {on_btn_exit_clicked(); });

**第3、4参数     不能:       this, &Dialog_exam_ready::on_btn_exit_clicked