如果我只有一个QFont,如何更改2个(或更多) QFontDialog的不同字体?我怎样才能做得更有效率呢?我认为,为每个QFont创建新的QFontDialog将是非常愚蠢的。
发布于 2013-06-14 00:20:38
如果您希望同时执行此操作,则需要在表单中添加两个QFontDialog。否则,您可以使用一个QFontDialog对象,并在显示对话框之前使用setCurrentFont()简单地设置当前字体。
发布于 2013-06-14 14:00:20
因此,为每个QFont创建QFontDialog并不是最佳的方法(太多-超过100 - QFont-s和QFontDialog-s将占用大量内存)。更高效-为QFontDialog和QFont创建特定的信号-S和时隙-S(在我的情况下是FontChooser (修改的QLineEdit),从QFontDialog接收QFont信息),如下所示:
QObject::connect(&fontdialog, SIGNAL(font_selected(FontChooser *, const QFont &)), &fontchooser, SLOT(set_font_info(FontChooser *, const QFont &)));
QObject::connect(&fontchooser, SIGNAL(clicked(FontChooser *, const QFont &)), &fontdialog, SLOT(show(FontChooser *, const QFont &)));当我发布这个问题时,我想,Qt有一些简单的功能可以做到这一点。也许我错了?:)问题解决了。谢谢。
https://stackoverflow.com/questions/17089999
复制相似问题