删除布局中的所有子控件
void clearLayout(QLayout* layout){if (layout) {QLayoutItem* child = nullptr;while ((child = layout->takeAt(0)) != nullptr) {if (child->widget() != nullptr)delete child->widget();delete child;}}}
使用Qt反射框架,创建一个通用的动态创建对象的类
struct StrLess{bool operator()(const char* c1, const char* c2) const noexcept { return strcmp(c1, c2) < 0; }};using MetaMap = std::map<const char*, const QMetaObject*, StrLess>;template <typename T>class ObjectCreator{public:template <typename SubT, typename = std::enable_if_t<std::is_base_of_v<T, SubT>>>bool registerMeta(const char* type) noexcept{return _metas.emplace(type, &SubT::staticMetaObject).second;}template <typename... Args>T* create(const char* type, Args&&... args) const{const auto it = _metas.find(type);if (it == _metas.cend())return nullptr;return static_cast<T*>(it->second->newInstance(std::forward<Args>(args)...));}const MetaMap& metas() const noexcept { return _metas; }private:MetaMap _metas;};
隐藏所有QDialog的小?号
QApplication::setFont(QFont(QStringLiteral("Arial, Microsoft YaHei"), 12));QCoreApplication::setAttribute(Qt::AA_DisableWindowContextHelpButton, true);
硬编码查看关系型数据库表的结构:
PRAGMA table_info([Rear_FC11])
设置QTabWidget空白区域的样式:
参考链接:修改空白区域样式
ui->tabWidget->setAttribute(Qt::WA_StyledBackground);ui->tabWidget->setStyleSheet("QTabWidget{background-color:black;}");
作者:admin 创建时间:2022-07-28 10:38
更新时间:2022-09-16 11:11
更新时间:2022-09-16 11:11