【问题标题】:QtRuby cannot create QDate to populate QDateEditQtRuby 无法创建 QDate 来填充 QDateEdit
【发布时间】:2014-11-08 06:04:47
【问题描述】:

我在一个项目中使用 QtRuby + Mysql2,我正在尝试检索填充表单所需的所有数据。

首先,进行查询。然后,获取每个值并用于填充每个相关的小部件。

client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "", :database => "school")
res= client.query("SELECT * FROM activ WHERE act_name = '#{@cActiv.currentText()}' ")
res.each do |row|
            @tName.setText(row['act_name'].to_s)
            @tType.setText(row['act_type'].to_s)
            @strDate= row['act_date'].to_s
            @year=@strDate[0,4].to_i
            @month=@strDate[5,2].to_i
            @day=@strDate[7,2].to_i
            @date= Qt::Date.new(@year, @month, @day)
            @deDate.setDate(@date)
end

问题是我在尝试将日期设置为 DateEdit 时出错,即使创建 QDate 对象时没有错误。

有什么想法吗?

【问题讨论】:

  • 我不知道 ruby​​,但我认为如果你告诉我们你遇到了哪个错误,它会对其他人非常有帮助。
  • 对不起。它是“QtDateEdit 的未定义方法‘setDate’”。 setDate 需要一个 Qt::Date 作为参数,而一个 Qt::Date 需要三个整数作为参数,所以当我迷路并且看不到上面代码中的错误在哪里时。还有一件事:在 setDate 之前打印@date 的值,抛出:#<:date:0xf140e8>;所以我猜它毕竟是一个 Qt::Date,但不能用它来设置 QtDateEdit 的日期(真的很混乱)

标签: mysql ruby qt qtruby


【解决方案1】:

问题不在显示的代码片段中。 @year@month@day 没有从字符串转换中接收到有效值,或者 @deDate 不是 Qt::DateEdit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    相关资源
    最近更新 更多