問題タブ [vala]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - Valaで文字列をソートする方法は?
2 つのことが思い浮かびます: 常にソートされる Gee.TreeSet を使用するか、Gee.ArrayList.sort を呼び出します。
最初のものはやり過ぎのように感じ、もう一方のドキュメントは見つかりません。続行するための最もスマートな方法は何ですか?
vala - カスタム コンテナが描画されない
ここ数日、Vala について読んでいて、それに飛び込んで、途中で Clutter ウィジェットをいくつか作成することにしました。現在、カスタム アクター サブクラスからプライベート アクターを描画しようとしています。ここに私がこれまでに得たものの単純化されたバージョンがあります。
この例では、ステージに直接追加されたグループが描画されますが、ステージに追加されたカスタム コレクションによってラップされたグループは描画されません。これを機能させるにはどうすればよいですか?上記の何が問題なのですか?
でubuntu 11.10に取り組んできましたvalac --pkg clutter-1.0 above_code_example.vala
。
animation - Clutterのanimate-propertiesにアクセスできません
Clutterでアクターをアニメートしようとしていますが、存在するプロパティに入ると、問題が発生します。
このエラーが発生します
クラッター-警告**:プロパティ'\ x83 \ xec \ u0014 \ x89 \ xc6e \ xa1 \ u000c'をバインドできません:タイプ'ClutterTexture'のオブジェクトにはこのプロパティがありません
私にはUnicode文字のように見えます。ただし、存在しないプロパティを入力すると
はるかに理にかなっているエラーが発生します
Clutter-警告**:プロパティ'thisdoesntwork'をバインドできません:タイプ'ClutterTexture'のオブジェクトにはこのプロパティがありません
この代替アプローチを試してみると、まったく同じ問題が発生します。
実際に存在するすべてのプロパティがいくつかの混乱に変換されるのはなぜですか?これを機能させるにはどうすればよいですか?
c++ - C++ と VALA を混同するにはどうすればよいですか
C++ でクロス プラットフォーム用の GUI アプリケーションを作成する必要がありますが、C++ の GUI ライブラリのほとんどは少し退屈で、C#/.NET に精通しているため、GTK を使用した Vala コードのコードは非常に興味深いものであり、他の方法と比較して少し簡単であることがわかりました。どうすれば VALA と C++ を混同できるでしょうか。私は、C++ のフロント エンドとコードの残りの部分に VALA を使用することを意味しました。
c# - VALAとAOTのコンパイルのパフォーマンスの違いは?
私はJavaで画像処理アプリケーションを開発してきましたが、最近VALAに興味を持っています。その理由は、アプリケーションのパフォーマンスを向上させることができると信じているためです(JavaでC / C ++ブリッジを使用するとパフォーマンスが低下するように思われるため、主にC / C ++ライブラリとの相互接続に懸念があります)。
背景(私が知っていること):
- VALAはCコードに変換されてから、ネイティブマシンコードにコンパイルされます。
- AOT(Java / Mono C#)は、ネイティブマシンコードも生成できます(VMを使用する代わりに、ランタイムバンドルが必要です)。
- 場合によっては、VMを使用すると、ネイティブマシンコードよりもさらに高速になることがあります(JITコンパイラを介して最適化できるため)。
- 消耗品のC/C ++ライブラリは、VALAを使用して作成できます。
私の頭の周りに何かが起こっていて、答えが見つかりません:
- C / C ++の消耗品ライブラリはAOTコンパイラを使用して作成できますか?(私はそうは思わない)。
- 生成されたAOTバイナリには、まだブリッジのパフォーマンスの問題がありますか?(私はそうだと思います)。
- VALAでC/C ++ライブラリを呼び出すと、Cから呼び出すのと同じパフォーマンスが得られますか?(そうだと思います)。
何か洞察はありますか?
linux - コンテンツが縮小するときに GTK+ のウィンドウを動的に縮小しますか?
Vala アプリケーションにウィンドウがあり、その中に画像があります。この画像は によって時々変更されるimg.set_from_pixbuf(imgdata);
ため、サイズも変更されます。Gtk.Box に埋め込まれています。
そのため、以前に大きな画像があり、それを小さな画像に置き換えた場合、ウィンドウは途方もなく大きくなり、必要なスペースに動的に縮小する方法が見つかりませんでした. 試してみましwindow.set_default_size(box.width_request,box.height_request)
たが、常に-1が返されます。
ウィンドウのサイズを変更する方法はありますか?ありがとう!
gtk - GTK モーダル ダイアログがモーダルでない場合があります --- バグまたは機能?
GTK ( GTK2 または GTK3 の両方)でカスタム ダイアログを作成し、それをモーダルに設定すると、アプリケーションの他のウィンドウへのすべての入力が無視されます。これはほぼ常に機能しますが、特定の条件下では失敗します。
TreeView を含む ScrolledWindow をダイアログに追加しても、想定どおりに動作します。しかし、ScrolledWindow がスクロール バーを表示し始めるまで TreeView にエントリを入力すると、モダリティが突然失われ、他のウィンドウをクリックできるようになります。
これは、私がセットアップできた最も基本的な例です。これは Vala で書かれていますが、次のように理解できます。
次のようにコンパイルします。
何か不足していますか?この動作は必要ですか? それともバグですか?もしそうなら、回避策はありますか?
編集:もう少し調査しました: Ubuntu のオーバーレイ スクロールバーをアンインストールすると、問題はなくなります。まだ解決していませんが、どこに報告しなければならないかはわかっています...
c - GTK: ウィジェットの無限の遅延リスト
インタラクティブなウィジェットの事実上無限のスクロール可能なリストを表示し、新しいデータが追加されたとき、またはユーザーがキャッシュされていない領域にスクロールしたときに、必要に応じてそれらを追加/削除する必要があります。
TreeView (ここで質問されているように) はオプションではありません。アイテムとして完全なウィジェットが必要なためです (複数のアクションなどを含む標準ウィジェットで構成されていますが、CellRenderer はこのためではありません)。
さらに悪いことに、ウィジェットの高さを事前に把握していないため (あまり変動はありませんが)、VBox を使用するとジャンプが発生する可能性があります。
スクロールバーを使用すると、リストのサイズが有限であるかのように感じるはずです (つまり、スクロールが終了した後にのみ更新されるため、スクロールボタンがマウスから離れることはありません)。ウィンドウのサイズを変更してウィンドウのレイアウトが更新されると、スクロール位置があまり変更しないでください (もちろん、フォーカスされたウィジェットがスクロールされない限り、フォーカスされたウィジェットはその場所にとどまるべきです...)。
これを行う最善の方法は何ですか?たぶん、新しいウィジェットを追加する必要があるときに信号を送るだけのライブラリでさえありますか?
それとも、ListView がこれをあまり厄介ではない方法で行うように強制できますか? (つまり、オフスクリーン バッファに描画し、CellRenderer を使用してそれをセルにコピーし、マウス/キーボード イベントを実際のウィジェットにリレーしますか?)
localization - gettext プレースホルダーの使用方法
私はプログラマーではありませんが、vala (http://live.gnome.org/Vala/Tutorial) で書かれたプロジェクトを gettext を使って翻訳する手助けをしたいと思っています。プレースホルダーを使用して文の一部を再配置しなければならないときに問題が発生しました。
例:
私は何をする必要がありますか?
warnings - 警告: Vala の HashTagIter を使用した「互換性のないポインター型からの g_hash_table_iter_next」
次のコードはコンパイルされますが、警告が発生します。したがって、それを修正するために実際に何が起こるかを理解したいと思います(コンパイル時に警告を表示するという考えは好きではありません):
警告:
私が言ったように、コードはコンパイルされ、うまく動作します (現時点ではセグメンテーション違反などはありません)。
この警告を修正するにはどうすればよいですか?
ありがとう、
ダミアン