当前位置: 首页 > wzjs >正文

直播做ppt的网站邯郸手机网站建设费用

直播做ppt的网站,邯郸手机网站建设费用,注册公司名字推荐,网站建设平台官网河间米各庄动态生成 UI 1. 创建UI1.1 窗口样式创建核心分类使用相关函数 2. 获取UI对象2.1 通过objectName获取控件使用QObject::findChild()(推荐)使用QObject::findChildren()(批量查找)全局查找(通过QApplication::allWidgets…

动态生成 UI

  • 1. 创建UI
    • 1.1 窗口样式创建
      • 核心分类
      • 使用
      • 相关函数
  • 2. 获取UI对象
    • 2.1 通过objectName获取控件
      • 使用QObject::findChild()(推荐)
      • 使用QObject::findChildren()(批量查找)
      • 全局查找(通过QApplication::allWidgets())
      • 使用

1. 创建UI

1.1 窗口样式创建

Qt::WindowType 是 Qt 框架中用于定义窗口行为和外观的枚举类型,通过设置不同的标志(Flag),可以控制窗口的样式、模态性、父窗口关系等。

核心分类

//窗口类型标识
Qt::Window          // 独立窗口(默认有标题栏和边框)
Qt::Dialog          // 对话框窗口(通常无边框,有关闭按钮)
Qt::Sheet           // macOS 风格的工作表窗口
Qt::Drawer          // macOS 风格的抽屉窗口
Qt::Popup           // 弹出窗口(无边框,点击外部自动关闭)
Qt::Tool            // 工具窗口(标题栏更简洁)
Qt::ToolTip         // 工具提示窗口(无边框,无焦点)
Qt::SplashScreen    // 启动画面(无边框,无按钮)
Qt::Desktop         // 桌面窗口
Qt::SubWindow       // 子窗口(如 MDI 应用中的内部窗口)//窗口提示标志
Qt::WindowTitleHint          // 显示标题栏
Qt::WindowSystemMenuHint     // 显示系统菜单
Qt::WindowMinimizeButtonHint // 显示最小化按钮
Qt::WindowMaximizeButtonHint // 显示最大化按钮
Qt::WindowCloseButtonHint    // 显示关闭按钮
Qt::WindowContextHelpButtonHint // 显示帮助按钮
Qt::WindowStaysOnTopHint     // 窗口始终置顶
Qt::WindowStaysOnBottomHint  // 窗口始终置底
Qt::CustomizeWindowHint      // 自定义窗口装饰(需配合其他标志)//特殊行为标志
Qt::FramelessWindowHint      // 无边框窗口
Qt::WindowFullscreen         // 全屏窗口
Qt::WindowMaximized          // 最大化窗口
Qt::WindowMinimized          // 最小化窗口
Qt::WindowShadeButtonHint    // 显示阴影按钮(用于折叠窗口)
Qt::WindowTransparentForInput // 窗口不接收输入事件
Qt::WindowOverridesSystemGestures // 覆盖系统手势

使用

  • 窗口构造时设置
#include <QDialog>class MyDialog : public QDialog {
public:MyDialog(QWidget *parent = nullptr) : QDialog(parent) {// 设置为无边框的弹出窗口setWindowFlags(Qt::Popup | Qt::FramelessWindowHint);}
};
  • 动态修改窗口标志
// 切换为全屏模式
void setFullscreen(bool fullscreen) {if (fullscreen) {setWindowFlags(windowFlags() | Qt::WindowFullscreen);} else {setWindowFlags(windowFlags() & ~Qt::WindowFullscreen);}show();  // 必须调用show()使标志生效
}

相关函数

函数作用
setWindowFlags(Qt::WindowFlags flags)设置窗口标志
windowFlags() const获取当前窗口标志
setWindowModality(Qt::WindowModality modality)设置窗口模态性(阻塞其他窗口)
isWindow() const判断是否为独立窗口

2. 获取UI对象

2.1 通过objectName获取控件

使用QObject::findChild()(推荐)

template <typename T>
T QObject::findChild(const QString &name = QString(),Qt::FindChildOptions options = Qt::FindChildrenRecursively) const
  • 参数说明:
  1. name:控件的objectName(空字符串表示匹配所有名称)。
  2. options:查找选项(递归查找或仅直接子控件)。
#include <QPushButton>
#include <QDebug>// 在QWidget或QMainWindow的子类中
void MyWidget::findButton() {// 查找名称为"myButton"的QPushButtonQPushButton *button = findChild<QPushButton*>("myButton");if (button) {button->setText("Found!");qDebug() << "找到按钮:" << button->objectName();} else {qDebug() << "未找到按钮";}
}

使用QObject::findChildren()(批量查找)

template <typename T>
QList<T> QObject::findChildren(const QString &name = QString(),Qt::FindChildOptions options = Qt::FindChildrenRecursively) const
// 查找所有名称以"edit"开头的QLineEdit
QList<QLineEdit*> editList = findChildren<QLineEdit*>(QRegularExpression("^edit"));
foreach (QLineEdit *edit, editList) {edit->setReadOnly(true);
}

全局查找(通过QApplication::allWidgets())

#include <QApplication>// 查找整个应用程序中名称为"mainWindow"的主窗口
QMainWindow *mainWindow = nullptr;
foreach (QWidget *widget, qApp->allWidgets()) {if (widget->objectName() == "mainWindow" && qobject_cast<QMainWindow*>(widget)) {mainWindow = qobject_cast<QMainWindow*>(widget);break;}
}

使用

// 在UI文件中设置了objectName为"usernameEdit"的QLineEdit
QLineEdit *usernameEdit = findChild<QLineEdit*>("usernameEdit");
if (usernameEdit) {usernameEdit->setPlaceholderText("请输入用户名");
}// 查找所有QPushButton并设置样式
QList<QPushButton*> buttons = findChildren<QPushButton*>();
foreach (QPushButton *button, buttons) {button->setStyleSheet("background-color: #4CAF50; color: white;");
}
  • 若不需要直接访问控件对象,可通过信号与槽机制实现松耦合:
// 在UI设计时连接信号与槽,无需手动查找控件
connect(ui->myButton, &QPushButton::clicked, this, &MyWidget::onButtonClicked);
http://www.dtcms.com/wzjs/797347.html

相关文章:

  • 一般建站需要多少钱网站设计公司圣辉友联
  • 荣成住房和城乡建设部网站甘肃省建设厅质量投诉网站
  • 建站之星网站建设下载版苏州市住房和城乡建设局网站首页
  • 人工智能公司网站建设爱企查官网
  • 东莞设计院东莞网站优化建设团队
  • 浮雕模东莞网站建设dede模板蓝色大气简洁企业网站模板
  • 网站锚点怎么用wordpress 统计流量
  • 信息分类网站建设贵州建设厅二建考试网站
  • 浙江网站怎么做推广启动wordpress mu
  • 网站建设用电脑关键词优化技巧有哪些
  • 无障碍 网站 怎么做哪里有网站建设哪家好
  • .net网站开发实站最完整的外贸流程图
  • 网网站站建建站站贵州省贵州省建设厅网站
  • 网站建设买了服务器后怎么做网站做哪些比较赚钱
  • 私人影吧服务器企业seo顾问服务公司
  • 建设完网站成功后需要注意什么问题网站登录流程图
  • 儿童可以做的游戏视频网站久久建筑网站下载
  • 手机上怎么做自己的网站wordpress主机内存
  • 建设部网站监理工程师报名网站建设包括两个方面
  • 淮安网站建设电话100个免费外贸平台
  • 网站由哪些部分组成部分组成部分影视app搭建教程
  • node.js 网站开发wordpress模板如何修改
  • 网站推广策略含义wordpress+学校模版
  • 可以免费发布信息的网站有哪些计算机网络网站建设的实训总结6
  • 天翼云主机 网站mvc做的网站怎么连接数据库
  • 大连手机网站开发网站建设公司发展方向及趋势
  • 外贸网站优化免费渠道河南华盛建设集团网站
  • 微信手机网站app制作网站开发资金来源
  • 西安做兼职网站优化关键词有哪些方法
  • 网站网页设计师缩短网址生成器