C++ 是否为每个QFont新建QFont对话框?
如果只有一个QFontDialog,如何更改2个(或更多)QFont的不同字体?我怎样做才能更有效率?我认为,为每个QFont创建新的QFontDialog将是非常愚蠢的。如果要同时执行此操作,需要在表单中添加两个QFontDialog。否则,您可以使用one QFontDialog对象,在显示对话框之前,只需使用C++ 是否为每个QFont新建QFont对话框?,c++,qt,C++,Qt,如果只有一个QFontDialog,如何更改2个(或更多)QFont的不同字体?我怎样做才能更有效率?我认为,为每个QFont创建新的QFontDialog将是非常愚蠢的。如果要同时执行此操作,需要在表单中添加两个QFontDialog。否则,您可以使用one QFontDialog对象,在显示对话框之前,只需使用setCurrentFont()设置当前字体即可 因此,为每个QFont创建QFontDialog不是最佳方法(太多-超过100个-QFont-s和QFontDialog-s将占用大量
setCurrentFont()
设置当前字体即可 因此,为每个QFont创建QFontDialog不是最佳方法(太多-超过100个-QFont-s和QFontDialog-s将占用大量内存)。更高效-为QFontDialog和QFont创建特定的信号和插槽(在我的情况下,是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