小编Tca*_*chy的帖子

如何使用Gnuplot中格式为"#aabbcc"的数据列中声明的颜色对点进行着色?

我正在使用Gnuplot根据包含5个项目的数据制作散点图:

index, name, x value, y value, color (#12e335)
Run Code Online (Sandbox Code Playgroud)

每个条目的颜色都不同.有没有办法让我的数据点(x,y)的颜色得到数据中列出的颜色?

是否有可能采用这种格式的颜色(#aabb12),还是需要更改格式为特定的gnuplot?点颜色与数据中指定的颜色相同非常重要,因为我稍后会使用相同的颜色作为饼图(而不是gnuplot).

任何帮助,将不胜感激.

gnuplot colors scatter-plot

6
推荐指数
1
解决办法
2155
查看次数

问:如何通过系统调用捕获错误?

我正在构建一个GUI应用程序,我在其中进行系统调用并调用gnuplot来运行脚本.现在我想构建一个错误消息,说明什么时候出错(例如没有安装gnuplot或者路径错误).

所以我一直在考虑推出一个QMessageBox,但我不知道如何检查系统调用是否成功.

if(//System call didn't work)
{
    QMessageBox msgBox;
    msgBox.setWindowTitle("Error");
    msgBox.setIcon(QMessageBox::Critical);
    msgBox.setText("GNUPLOT was not installed");
    msgBox.exec();
}
Run Code Online (Sandbox Code Playgroud)

我的系统调用如下所示:

system(gnuplot script.txt);
Run Code Online (Sandbox Code Playgroud)

有什么建议?

c++ qt qprocess qiodevice qtcore

6
推荐指数
1
解决办法
1098
查看次数

QHBoxLayout中小部件之间的间距

我正在尝试使用QtCreator创建GUI.对于此GUI,我需要显示彼此相邻的不同大小的多个图像.这些图像应该相互接触.

我用一个QWidget与一个QHBoxLayout,其中I添加标签(具有不同的大小)包含图像.

根据相关问题,我应该使用setSpacingsetContentsMargin删除这些空格,但这不起作用; 我试了好几次.

这是代码:

QWidget *widget = new QWidget(ui->tagcloud);
QHBoxLayout * l = new QHBoxLayout(widget);
ui->tagcloud->setWidget(widget);

for(int i=0;i<list.size();++i)
{
    QLabel *lab = new QLabel;

    QPixmap pic((list[i].imgPath).c_str());      //This fetches the image
    int sizeChange = 50 + (2*list[i].percent);   //Calculates the size of the image

    lab->setFixedSize(QSize(sizeChange, sizeChange));
    lab->setPixmap(pic);
    lab->setScaledContents(true);

    l->addWidget(lab);
    l->setSpacing(0);

}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,间距保持不变(即绝对不为零).如果我在布局中添加更多标签,间距似乎会变小.

任何人都可以解释或帮助我吗?谢谢!

c++ qt qtgui qlabel

3
推荐指数
1
解决办法
7485
查看次数

Qt:QProcess调用终端+脚本

我在使用QProcess时遇到了麻烦,我已经查看了几个使用它的位置,但是每次我使用它时我的程序都会冻结,或者它只是没有做我想做的事情.

我想从GUI应用程序做的事情如下:

将目录更改为/ Users/Tim/etc等.从那里我需要调用gnuplot并将脚本加载到其中.

我通常会在终端窗口中执行以下操作:

 > cd /Users/Tim/...        
 > /opt/local/bin/gnuplot barchartscript.txt
Run Code Online (Sandbox Code Playgroud)

目前我正在使用系统调用来执行此操作,这是有效的,但是每个人都建议使用QProcess,所以我想这样做.

我的代码现在如何使用QProcess:

    QObject *parent;
    QProcess *process = new QProcess(parent);
    QString commands;
    QString changed = "cd /Users/Tim/etcetc";
    commands = (changed + "&& /opt/local/bin/gnuplot scatterplotscriptwithout.txt").c_str();

    process->start(commands);
Run Code Online (Sandbox Code Playgroud)

谁能告诉我什么是错的?或者在一个进程中执行多个命令的正确方法?

c++ qt qprocess

2
推荐指数
1
解决办法
2246
查看次数

使用 XSLT 按预定顺序对 XML 元素进行排序

我必须遵循 XML:

 <root>
       <a></a>
       <b></b>
       <a></a>
       <a></a>
       <b></b>
       <c></c>
</root>
Run Code Online (Sandbox Code Playgroud)

a、b 和 c 元素的顺序是随机的。现在我想以预定义的方式对元素进行排序(首先是 b,然后是 a,然后是 c)。

我尝试了以下 xslt:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="node()|@*">
      <xsl:copy>
       <xsl:apply-templates select="@*">
         <xsl:sort select="name()"/>
       </xsl:apply-templates>

       <xsl:apply-templates select="node()">
        <xsl:sort select="name()"/>
       </xsl:apply-templates>
      </xsl:copy>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

它按名称对元素进行排序,因此按预期进行 a、b、c。

除了降序/升序之外,还有其他方法可以定义排序顺序吗?

谢谢!

xml sorting xslt

2
推荐指数
1
解决办法
987
查看次数

了解Sed命令

我正在修改一些shell脚本并遇到了这个命令.

sed -i "s@demo.testcase.com@$hostname@g" configuration.xml
Run Code Online (Sandbox Code Playgroud)

我搜索并发现带有s选项的sed只是一个替代品.最后的g代表全球.但我找不到@符号的用途.

任何人都可以向我解释上述命令吗?

谢谢

bash sed

0
推荐指数
1
解决办法
56
查看次数

标签 统计

c++ ×3

qt ×3

qprocess ×2

bash ×1

colors ×1

gnuplot ×1

qiodevice ×1

qlabel ×1

qtcore ×1

qtgui ×1

scatter-plot ×1

sed ×1

sorting ×1

xml ×1

xslt ×1