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

织梦源码网站模板威海高新园区建设运营有限公司网站

织梦源码网站模板,威海高新园区建设运营有限公司网站,广州做贷款有什么网站,有域名之后怎么做网站文章目录 一、QFontDialog的介绍二、QFontDialog的使用方法三、QFontDialog的选项四、完整示例 一、QFontDialog的介绍 QFontDialog 是 Qt 提供的标准字体选择对话框,它允许用户选择字体、大小、样式等信息。它的主要作用是提供一个用户友好的界面来选择字体&#…

文章目录

    • 一、QFontDialog的介绍
    • 二、QFontDialog的使用方法
    • 三、QFontDialog的选项
    • 四、完整示例

一、QFontDialog的介绍

QFontDialog 是 Qt 提供的标准字体选择对话框,它允许用户选择字体、大小、样式等信息。它的主要作用是提供一个用户友好的界面来选择字体,并将用户的选择返回给应用程序。

QFontDialog 的基本功能:

  • 允许用户选择字体、字形、大小等。
  • 可选是否显示颜色选择。
  • 支持模态和非模态使用方式。
  • 允许程序预设字体并获取用户选择的字体。

二、QFontDialog的使用方法

1 静态方法
最简单的使用方式是调用 QFontDialog::getFont(),它会弹出一个模态对话框,并返回用户选择的字体:

#include <QApplication>
#include <QFontDialog>
#include <QDebug>int main(int argc, char *argv[]) {QApplication app(argc, argv);bool ok;QFont font = QFontDialog::getFont(&ok);if (ok) {qDebug() << "用户选择的字体:" << font.family();qDebug() << "字体大小:" << font.pointSize();} else {qDebug() << "用户取消了字体选择";}return 0;
}

说明:

  • QFontDialog::getFont(&ok) 会阻塞执行,直到用户选择字体或取消对话框。
  • ok 变量表示用户是否选择了字体,false 代表用户点击了“取消”按钮。

2 创建 QFontDialog 对象
除了使用静态方法,我们还可以创建 QFontDialog 实例,以便自定义其行为:

#include <QApplication>
#include <QFontDialog>
#include <QPushButton>
#include <QWidget>
#include <QVBoxLayout>
#include <QLabel>class FontSelector : public QWidget {
public:FontSelector(QWidget *parent = nullptr) : QWidget(parent) {QVBoxLayout *layout = new QVBoxLayout(this);label = new QLabel("请选择字体", this);QPushButton *btn = new QPushButton("选择字体", this);layout->addWidget(label);layout->addWidget(btn);connect(btn, &QPushButton::clicked, this, &FontSelector::selectFont);}private:QLabel *label;void selectFont() {QFontDialog fontDialog(this);fontDialog.setCurrentFont(label->font());  // 预设当前字体if (fontDialog.exec() == QDialog::Accepted) {label->setFont(fontDialog.selectedFont()); // 更新 QLabel 的字体}}
};int main(int argc, char *argv[]) {QApplication app(argc, argv);FontSelector w;w.show();return app.exec();
}

3.限制字体选项
可以使用 setOptions() 限制用户选择的字体类型。例如,只允许用户选择等宽字体:

QFontDialog fontDialog(this);
fontDialog.setOptions(QFontDialog::MonospacedFonts);

4.监听字体变化
如果希望在用户调整字体时实时更新 UI,可以使用 currentFontChanged 信号:

QFontDialog *fontDialog = new QFontDialog(this);
connect(fontDialog, &QFontDialog::currentFontChanged, [](const QFont &font) {qDebug() << "当前字体:" << font.family();
});
fontDialog->open();

三、QFontDialog的选项

QFontDialog 提供了一些选项,可以使用 setOptions() 方法进行设置:
在这里插入图片描述
示例:

QFontDialog fontDialog(this);
fontDialog.setOptions(QFontDialog::NoButtons | QFontDialog::MonospacedFonts);
fontDialog.exec();

四、完整示例

MainWindow::MainWindow(QWidget *parent): QWidget(parent)
{setWindowTitle("字体对话框测试"); m_pGlayout = new QGridLayout(this);m_pFontButton = new QPushButton("调用字体对话框", this);m_pFontLineedit = new QLineEdit(this);m_pFontLineedit->setText("今天天气挺好!");m_pGlayout->addWidget(m_pFontButton, 0, 0);m_pGlayout->addWidget(m_pFontLineedit, 0, 1);connect(m_pFontButton, &QPushButton::clicked, this, &MainWindow::dispFontFunc);
}void MainWindow::dispFontFunc()
{bool isBool = false;QFont font = QFontDialog::getFont(&isBool);if (isBool) {m_pFontLineedit->setFont(font);}
}

在这里插入图片描述


文章转载自:

http://olAoIVL1.sskhm.cn
http://ZJ1nfG2K.sskhm.cn
http://nX4btSi0.sskhm.cn
http://6R2LEYxh.sskhm.cn
http://hc3m3U6H.sskhm.cn
http://4lf3kInO.sskhm.cn
http://snF5nt0m.sskhm.cn
http://Ez6YOxnZ.sskhm.cn
http://JjXlJzBK.sskhm.cn
http://DOz8uba5.sskhm.cn
http://cr4lUrUO.sskhm.cn
http://jKcWNTIs.sskhm.cn
http://2PWzodhW.sskhm.cn
http://x0Zh1nFI.sskhm.cn
http://TNc9bClG.sskhm.cn
http://wZp2m5jO.sskhm.cn
http://GXpkmpuu.sskhm.cn
http://RYGpMlKX.sskhm.cn
http://zbfveUbG.sskhm.cn
http://OzLnikye.sskhm.cn
http://N74t7O66.sskhm.cn
http://JI977cYP.sskhm.cn
http://6gFE3Ut9.sskhm.cn
http://4HQrh9Jv.sskhm.cn
http://s1VcvS5y.sskhm.cn
http://fLRQvjl7.sskhm.cn
http://pv0tLDkm.sskhm.cn
http://ABbebRJJ.sskhm.cn
http://p5EA954c.sskhm.cn
http://VxMMUyrX.sskhm.cn
http://www.dtcms.com/wzjs/684077.html

相关文章:

  • 哈尔滨专业制作网站外贸网站个性设计
  • 网站结构分析具体分析内容西安网页设计培训学校
  • 大气企业网站源码计算机网络技术就业方向网站开发
  • 网站备案是在哪里的wordpress表情文件夹
  • 电子商务网站开发设计报告书热门关键词查询
  • directadmin备份网站网站建设方案书模板下载
  • 建材 网站 案例淘宝客网站可以做分销吗
  • 网站设计改版北京口碑最好的装修公司
  • 榆林市 网站建设怎么黑人网站
  • 攀枝花网站推广网站建设征求意见分析报告
  • 学校资源网站建设有啥作用小程序源码什么意思
  • 成都网站设计成功柚v米科技thinkphp做的网站怎么打开
  • 网站广告投放永年做网站多少钱
  • 杭州免费自助建站模板wordpress 多说 社交登陆
  • 企业网站开发费用包括哪些东阳网站制作
  • python做网站点登入没反映河北省建设银行网站
  • 网站开发需求逻辑图html首页代码
  • 京东网站建设的目标平台网站建设步骤
  • 做引流去那些网站好宁波网站建设哪家比较好
  • 云南网站做的好的公司简介网站备案 失败
  • 寺庙做网站英文网站建设详细方案
  • 网站架构教程建设银行移动门户网站
  • 众筹网站哪家好wordpress 上传logo
  • 苏州seo网站公司湖北中牛建设有限公司网站
  • 站长之家seo概况查询企业网页设计制作
  • 重庆彼客的网站是谁家做的wordpress手机商城
  • 表情包在线制作网站网上买购物的软件有哪些
  • 潍坊高新区建设局门户网站网络营销模式
  • 六安网站制作哪里有网页设计师培训方法
  • 表白网站制作生成器wordpress中怎么在页面中添加文章