如果我只有一个QFontDialog,如何为2个(或更多个)QFont更改不同的字体?我怎样才能更有效率?我认为,为每个QFont创建新的QFontDialog将是非常愚蠢的。
答案 0 :(得分:1)
如果要同时执行此操作,则需要在表单中添加两个QFontDialog。否则,您可以使用一个QFontDialog对象,并在显示对话框之前使用setCurrentFont()
设置当前字体。
答案 1 :(得分:0)
因此,为每个QFont创建QFontDialog不是最佳方法(太多 - 超过100 - QFont-s和QFontDialog-s将占用大量内存)。更高效 - 为QFontDialog和QFont创建特定的SIGNAL-S和SLOT-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有一些简单的功能可以做到这一点。可能是我错了? :) 问题解决了。 THX。