我曾经使用以下qt4命令来创建翻译文件:
SET(PROJECTNAME "TEST")
SET(${PROJECTNAME}_TRANSLATIONS
${PROJECTNAME}_de.ts
)
SET(${PROJECTNAME}_TRANSLATIONS_COMPILED
${PROJECTNAME}_de.qm
)
QT4_CREATE_TRANSLATION (${PROJECTNAME}_TRANSLATION_FILES
${${PROJECTNAME}_FORMS}
${${PROJECTNAME}_HEADERS}
${${PROJECTNAME}_SOURCES}
${${PROJECTNAME}_RESSOURCES}
${${PROJECTNAME}_TRANSLATIONS}
)
Run Code Online (Sandbox Code Playgroud)
如何将这种翻译cmake代码段移植到Qt5?
我需要按数组的降序对第一列进行排序。具体来说,我的代码是:
>>> x = np.array([[2, 3], [1998,5], [1998,7]])
>>> x = x[np.argsort(x[:,0])]
Run Code Online (Sandbox Code Playgroud)
但输出是
array([[ 2, 3],
[1998, 5],
[1998, 7]])
Run Code Online (Sandbox Code Playgroud)
但我需要按降序排列。有人可以解释我该怎么做吗?
编辑:@Babyburger建议此解决方案:
x = x[np.argsort(x[:,0])][::-1]
Run Code Online (Sandbox Code Playgroud)
给
array([[1998, 7],
[1998, 5],
[ 2, 3]])
Run Code Online (Sandbox Code Playgroud)
可能很好,但我想在第一列的值相同的情况下,顺序不变。所以输出将是
array([[1998, 5],
[1998, 7],
[ 2, 3]])
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法可以做到这一点?
(在Qt 4.8和Ubuntu 12.10上使用C ++进行测试)
我有一个显示QDialog的主窗口。当我将“对话”窗口全屏显示时,即使它似乎是一个适当的窗口,它也似乎始终无法工作。意思是,窗口有时会全屏显示。
有人知道吗?我知道Qt指出它可能无法在所有X环境中使用,但是可以不是那么糟糕,不是吗?
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QDialog* d = new QDialog();
d->setModal(false);
d->show();
qDebug() << d->isWindow();
// works most of the times, though not always:
// d->showFullScreen();
// sometimes works, sometimes it doesn't:
QTimer::singleShot(2000, d, SLOT(showFullScreen()));
}
Run Code Online (Sandbox Code Playgroud)