Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt Ruby:创建表并从文本文件动态输入数据_Ruby_Qt_Qtableview_Qtablewidget_Qtruby - Fatal编程技术网

Qt Ruby:创建表并从文本文件动态输入数据

Qt Ruby:创建表并从文本文件动态输入数据,ruby,qt,qtableview,qtablewidget,qtruby,Ruby,Qt,Qtableview,Qtablewidget,Qtruby,我有一个名为data.txt的文本文件,其中包含各种参数,如编号、状态等。 每行包含一组不同的数据 现在,在我的GUI中,我有了提交按钮。单击该按钮,我希望这些数据中的“少数”在GUI屏幕上显示为表格 一件事是我知道它在文本文件中的位置: 例如:状态显示在文本文件每行的位置[70..78] 数字出现在文本文件每行的位置[85..90],依此类推 我只希望数据的那些特定部分显示在表的各个列中 欢迎提出任何建议。我正在使用Qt和Ruby进行GUI设计 Following images show wh

我有一个名为data.txt的文本文件,其中包含各种参数,如编号、状态等。 每行包含一组不同的数据

现在,在我的GUI中,我有了提交按钮。单击该按钮,我希望这些数据中的“少数”在GUI屏幕上显示为表格

一件事是我知道它在文本文件中的位置:

例如:状态显示在文本文件每行的位置[70..78] 数字出现在文本文件每行的位置[85..90],依此类推

我只希望数据的那些特定部分显示在表的各个列中

欢迎提出任何建议。我正在使用Qt和Ruby进行GUI设计

Following images show what exactly i am looking for: 

编辑:使用Stephen提到的解决方案:

使用直线位置对我很有效。但这里有一个查询,当我尝试使用puts语句时,它确实正确地打印。但是,当我尝试在TextEdit小部件中使用相同的代码来显示它时,不会显示每一行

 @text_var = "#{line[70..78]}\t#{line[85..90]}

  @text = Qt::TextEdit.new(self)
  @text.setText (@text_var) 
  puts  @text_var
Puts语句给出了正确的输出,但是我无法在小部件中发送相同的输出。 若我使用break语句,那个么第一行将正确地显示在小部件中。所以,当它试图逐行读取小部件时,就会发生错误。最终,它会被覆盖,最后一行只有空格的地方会被打印在我感觉到的小部件中


有什么解决办法吗

看起来您希望的
状态
编号总是出现在同一列中。您可以在空白处拆分
data.txt
的每一行,以仅显示所需的列

File.open('data.txt').readlines.each do |line|
  columns = line.split(/\s+/)
  puts "#{columns[4]}\t#{columns[5]}"  
end
这将打印第5列和第6列,由选项卡分隔

您还可以利用了解该职位的优势,如您所述:

File.open('data.txt').readlines.each do |line|
  puts "#{line[70..78]}\t#{line[85..90]}"  
end

谢谢你的解决方案。我将尝试使用此方法一次,然后返回。然而,因为我知道状态和数字在每一行中出现在完全相同的位置,就像第[70..78]行将显示b状态一样,我能用它代替列吗?是的,你也可以这样做。我会把它添加到解决方案中谢谢。这一部分更适合我,我想因为我已经尝试使用代码中其他部分的位置,我会尽快尝试它们,并得到结果!!请检查下面代码中的编辑部分并清除该查询!我无法在注释中添加代码部分,因此在问题中编辑如果需要,最好将转换部分和GUI部分拆分为单独的过程和问题,转换为eg数组,并通过简单的数组输入检查一切是否正常,然后尝试将数组显示到表中,请单独提问,并向我们展示您使用的代码和数据示例