【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
ubuntu16なんだろよく読めよ
責任とれないが俺のやり方
rootでいらないqtファイル消す(パージじゃ消えない>>99を信じるな)
aptでパージ
新バージョンを公式から落としてインスト
aptでいれなおす
aptでいれたクリエイターを起動
あら不思議自動認識が消える
手動で公式インストqtファイルを指定
いつもこんな感じ
93に指定する方法聞くかos入れ直すほうがいいかもな
しかし>>99のような役立たずな書き込みもめずらしい 皆様ありがとうございました。
>>100
この方法で自動検出されていたQt4が消え、
Qt5.6.2 gcc_64だけを指定することができ、
エラー: : No such file or directory
#include <QLoggingCategory> が無くなりました。
ありがとうございました。 >>100-101
なんでだよ。
その運用だとQt Creatorだけシステム側ので全体がチグハグになるだろ。
SDKをQt公式から入れたならQt CreatorもQt公式のを使うのが本道だろ。
ま、動きゃ何でもいいってんならもう何も言わんがね。 何コイツ偉そうと思っていたら
> うちのはQt公式ので4.2.1だ。
最後でお茶吹いたw >>105
Qt CreatorのバージョンはQt SDKのバージョンとは違うんだが?
いちいちそんなことを説明する必要ある? apt-get で入れる場合、そのubuntu(debian)でランタイム用として公式サポートされているものと
同じバージョンの開発キットがインストールされる
さらにapt-get でインストールできるのはモジュール単位なので、
QtGUI とかの基本以外のモジュールを使う場合は追加でインストールする必要がある
ぶっちゃけ面倒だし、Qt公式インストーラで別途インストールした方が管理も楽
ちなみにユーザー権限でインストールするとホームディレクトリにインストールされる
sudo 付けてインストーラを実行すればそのPC内のユーザーで共用できる(/opt/Qt とか) Qt Creatorのヘルプでスクロールすると途中から逆向きにスクロール、なんてバグだ。 >>108
ソース引っ張ってきて直した。Qtのバグだった。 >>110
公式にパッチを投げるまでがOSS開発者の仕事。 >>106
>>107
相変わらず的外れなことばっかりな奴がいるな >>112
Qt自体がOSSだ。
>>113
何が的外れか具体的に指摘できない時点で的外れ。 >>113
Tipsに対して的外れとは、君の的はいったいどこにあるのやら 101です。
荒れる原因になってしまったので
追加の報告をさせて頂きます。
100さんの方法で自動検出が消え、Qt5.6.2 gcc_64を指定したあとは、
公式のQt5.6.2を利用しています。
公式のQt5.6.2にもQt5.6.2 gcc_64を指定した設定が適用されていました。
(自動検出のQt4を消すことが出来ました。)
ですので、102さんが仰る
>>Qt Creatorだけシステム側ので全体がチグハグ
にはなっていないと思います。
この報告をすぐにすればよかったですね >>116
まあUbuntuなら公式とそれほど差があるわけじゃないから
動けばどっちでもいいだろうけどさ。
念のためにGUI上でQt Creatorのバージョンを確認して、
$ (QtSDKをインスコしたPATH)/Tools/QtCreator/bin/qtcreator -version
の出力と比べてご覧よ。
同じなら同じバージョン。
異なるならQt Creatorだけシステム側のを使ってる状態になる。 >>118
https://www.sra.co.jp/qt/faq/licenses.html
問 :
商用版の Qt にあって、オープンソース版の Qt にないものは何ですか。
答 :
基本的な Qt のコードとライブラリと API は、両方で同じです。しかしながら、商用版とオープンソース版では多くの違いがあります。
商用版の顧客は、オープンソース版のユーザが利用できない多くの製品やサービスを入手できます。
>>118,110 は明らかにQtのコードの話をしているからこれはOSSの範囲だ。 >>119
商用はQtのコードを変更しても知らせずに使える。OSSに反映する必要はない。
製品に特化した機能変更や修正をしてもよいしQtを使っていることを知らせる必要もない。 >>121
あー、こいつ全くわかっとらんわ。話にならん。 >>122
LICENSE AGREEMENTをよく読んでごらん。 >>123
117のカキコ見たらわかるが
人の話全く聞かない奴だからスルー推奨 数日前、Qt Creator4.2.2でオプション設定していたら固まった。
今日は、起動して7つのプロジェクトが入ったデフォルトセッションを開くとプロジェクトの読込中のまま進まない。 プロジェクト読み込み時に固まるってのはたまにあるね。
しばらく待ってたら読み込み終わることが多いけど。
userファイル消してみたらどうだい。
ついでにいうとここで書いたって解決しないから
どうしてもというなら公式のフォーラムで発言したほうがいいよ。 おまえらQtでmastodonのクライアント作ろうぜ >>126
そうだね。
今度はビルドしたらQt CreatorのプロセスがCPU 100%で無限ループ。 Python3 + PyQt5 の勉強始めて、基本的な動作の実験をしてみたんだけど、
if __name__=="__main__":
# 1回め
app = QApplication(sys.argv)
window = MainWindow()
app.exec_()
# 2回め
app = QApplication(sys.argv) # これをしなければ OK
window = MainWindow()
app.exec_()
ってやると1回めのウィンドウを閉じたところで Segmentation fault になる。
MainWindow は、QMainWindow から派生してて、コンストラクタで show() してる。
2回めの QApplication のインスタンスを作りなおさなければ動くんですが、なぜなんでしょう?
想定しているのは、入力のフロントエンドとして使用して、その処理を繰り返すような用途です。 >>129
基本的にQApplicationはQtアプリ自身の寿命と同じになる。
QApplication::exec()から制御が戻ってきたときはそのままアプリケーションは終了させてしまう。
君が書いてるようなQApplicationのインスタンスを何度も作り直すようなことは想定されてない。
根本的に使い方が間違ってると思うんだが。 >>130
どうも。
まあ MainWindow を再生成してる例とかも見たことないし、
あまり良いことじゃないんだろうなーと思いながらちょっと実験をした次第。
スレッドを使うのが正しいんだろうとは思うんだけど、なかなか大変そうで、
できれば簡単に済ませられないかと。
1. ウィンドウで入力。
2. ウィンドウ閉じて、途中経過はターミナルにつらつらと出す。
3. 1 に戻る。
こんな感じなんだけど、簡単にできる方法ないでしょうかね。 そんなことだれもやらないだろうな
MainWindowの中身を造りなおせば済むから メインウィンドウを閉じるという事は、アプリ・プロセスの終了と同じ
プロセスの起動・終了を繰り返しても、時間がかかるだけで、意味がない >>131
どうしても閉じたいのなら、closeした時のsignalで処理開始して、処理終了signalでメインウインドウ再度作成すればいいんやないの? pythonにもhide/showぐらいはありそうなもんだが hideするだけで良いじゃん。
多分GUIアプリを作った事がないと見た。 >>131
app.setQuitOnLastWindowClosed(False) どうも。いろいろ参考になります。
ちょっと気合入れてスレッド勉強しました。なんとなくわかってきたんで、これで実装しようかと思ってます。あー、頭いて。
>>136
Python + Qt は初めて。Lazarus なら遊びで使ったことがある。
>>137
なにやら怪しげなフラグ設定、調べてみます。 >>138
python で実装するにしても関数仕様は以下を参照した方が速い。どうやっても C の仕様に引き摺られるので。
http://doc.qt.io/
例えば >>137 を調べるとして、以下を見れば古い C 流儀のプロパティだと判って python 流でないのに戸惑うかもしれない。
http://doc.qt.io/qt-5/qguiapplication.html#quitOnLastWindowClosed-prop
ただ、>>131 をやろうと思ってるなら閉じる必要のあるウィンドウをメインウィンドウにするべきではないと思うな。入力用のダイアログ作ればいいと思うけど。
逆にずっと出していると思われるターミナルウィンドウみたいなのをメインにしたらいいと思う。
そうすると余程長い処理じゃなければスレッドを使う必要もなくなるんじゃない?
PyQt/PySide でスレッドを分けるとスレッドを跨いだデータの扱いで結構面倒事が起こる。 質問です
QChartを使いたいんですけどQtCreatorのデザイナに出てこないんですがどうすればいいんでしょうか
環境はUbuntuでCreatorと全モジュール入りのソースをビルドしてインストールしました 質問。QMLでfindObjectByIdに相当するものって無い?
idをJavaScriptに文字列で渡ししたいんだが >>141
chart使ったことはないが公式のサンプルはあるじゃろ
そこから読み解くのも一つの手
>>142
C++でも存在は知ってても使ったことがない
Qt3より以前の古い設計の名残だと思ってるが… QStringListやQMap<int, QString>でよくね Qt は Unix 系の人が多いと思うけど、 Unix 系の人はお気に入りのニュースリーダかエディタで 2ch を見る人が多い印象がある。 専ブラを作るのに適したGUIライブラリってなんだろ
Qtはマルチメディアも扱いやすいしWebKitも軽いし最も適した選択肢の1つに入る気がする
それともWPFやJavaFXのほうが良かったりするのかね
デスクトップ版の専ブラ古臭いのしかないしQt/Qmlでデスクトップ/Android両対応の専ブラ作れば一発当てられるんじゃね kitaってのあったよ
LinuxデスクトップやZaurusではそれなりに使えてたけど 2chのapiが独占されてるからいまさら考えても意味なし 現在の入力値を調べてボタンを有効/無効にする制御をやりたい。
Windows だとこういうのは Idle ハンドラでやってたんだけど、
Qt だとどこでやったらいいんでしょうか? オブジェクト思考的な話
数値がある閾値超えた場合、その旨の signal を発行して、
その signal (イベント)が必要なオブジェクトがそれを拾えば良い話
もちろん、signal を使わず数値を監視して enable/disable への切替は可能だけど
もはやQtの話じゃない timerで処理ってダイアログ閉じるタイミングで変更されたりしたら嫌だな QtCreaterのソースコードでキーボードカスタマイズを
実現してるUIがあるから参考になると思うよ QtCreatorでカッコやクォーテーションを勝手に補完するの止める方法ある?
特に範囲選択して文字を打てば置換して欲しいのに、選択範囲を勝手に囲むの
マジで作業効率悪い >>158
オプションの補完にそれぞれオフにするチェックボックスがある。 オプション>テキストエディタ>Completionだな。
それからQt Creatorが正しい。 Qt Creator で QLabel の背景色はどうやって変えるんですか?
文字の色は palette いじったら変わったけど。
コードで変える方法はググったらあるけど、色見ながら変えたい。 >>162
コードと同じで、トップレベルウィジェットでない場合にはautoFillBackgroundをtrueにするとpaletteの背景色が使われる。 末端のWidgetならstylesheetプロパティに直書きでいいけど、
QFrameとかのフレーム系Widgetにそれやると、中に入れた子Widgetが全部変わってしまうから注意な。
そういう場合どうするかというと、より上位のフレームのstylesheetプロパティに
クラス名付きで修飾を入れる。例えばQPushButtonについて変えたいなら
QPushButton {
border: none;
}
などとやる。 スレッドを requestInterruption() で中断させて、同じインスタンスをまた実行させると、
中断要求が残ってて即座に中断してしまう。requestInterruption() を受けたら exit() してしまって、
インスタンスは作りなおさないといけないの? 何やってるのかは知らないけど、大抵の場合は
QtConcurrent::Run+QFutureの組み合わせの方が扱いが楽よ。
途中終了とかもできるし。
まあ再開はできないから途中からやり直すという
コードを書く必要があるかもしれないが。 idといえば、C++からQMLのidを指定して
任意の場所のvisible状態をC++側で取得する方法は? http://qiita.com/amay077/items/38ee79b3e3e88cf751b9
Xamarin.Formsがmacにもlinuxにも対応するってマジ?
最近はLinux用アプリでさえQtよりElectronを目にするようなってきたし、いよいよQtもオワコンかなぁ Javaのコーダーがあれだけ増えたのに、
デスクトップじゃいまだにVisualBasicの代替程度しかなれてないけどな デスクトップアプリは今後もQtを中心に使うけど、
スマフォ/タブレット用はXamarinにする予定でいる。
手元のアプリではだいたい44-47%は外部インターフェイスを持たないModel部の実装になるから、
これだけのボリュームがプラットフォーム非依存にできる利点は大きい。 Qtなんてただの道具なんだから、
使いたくなければ使わなきゃええねんで。
Model部はpure C++でも構わんだろ。
生産性がいくらか下がるだけの話だ。 Qt SDKのexamples/widgets/gestures をWindows10で動かしてるんだけど、
pinchは反応してるけどpanとswipeは反応しないね。
これってこんなものなの? QMLについて調べてるんですが、.uiを使わずにこれを使う利点であるのでしょうか?
少し調べてみた限りでは面倒臭くなるだけに見えるで候 Qt Creatorの、Debug実行を行っているのか、exeを起動しているのか、判定する方法かifdefはありますでしょうか? >>181
公式Helpとサンプルの挙動を見る限り、pinchは2本以上の指でpanとswipeは1本指のように見えるんだが。
違うのかな。
>>182
qmakeのことを言ってるのかC++のことを言ってるのかで話は変わる。 >qmake
>C++
どちらの実現でも、OKです。
C++ってのは、VC++ですが。
知りたいのは、出来上がったExeの挙動をリリース/デバッグで切り替えることではなくて、
QtCreatorで動作するときだけはある処理をスルーしたい(逆もできればますます便利)です。
ある処理とは具体的には、throwで、exeのときにはQApplicationのオーバーライドでcatchして
エラーメッセージがちゃんと出せるのに、
QtCreatorで実行すると、throwでドカンとアセンブラステップ画面に移動して、アプリがEND。 >>184
Qtに限らず、C++上では
_DEBUG プリプロセッサシンボルの定義状態によって判定するのが基本。
qmakeではconfig関数を使う。デバッグビルドであることはわかるけど
リリースビルドであることはわからないので ! 演算子を併用するとかやや意味不明な運用になってるね。
例外の下りだけど、どうも184のコードがおかしいような気がする。
そもそもQtはQT_NO_EXCEPTIONSが定義されていると例外機構が存在しないものとして動作したりするし。
例えばQException以外が飛んで来ることが想定できてないんじゃね? >>184-185
昔 java が流行った頃にその手の挙動であった一例として。もしかするとこういう書き方をしてるかもしれない。
java の throws のつもりで関数定義のところに throw(XException) を書いてあって
関数内で XException 以外の例外が発生するとそこでコアダンプするというのがあった。
java: XException を投げる可能性があるので上位で対処を要求する書き方
void test() throws XException {
}
C++: XException 以外は投げられず、std::unexpected() に制御が移る
void test() throw(XExpception) {
} >>185
全然話が違っています。
デバッグコンパイルでも、リリースコンパイルでも、ただしくcatchできています。
ただ、QtCreatorで、throwのところで、デバッガーが止まるのが困ってるだけです。
前にも書いた通り、デバッグコンパイルのexe/リリースコンパイルのexe、を切り分けたいのでなく、
デバッガ―が止まらないように、でばっがーによる起動を判定したい、だけです。 >>187
184の文章ではcatchできているかできてないかの話に読めるし、
187の文章を見てもやはりcatchできなかったときのデバッガの挙動に見える。
自分の書いたコードとデバッガの挙動とが正しく把握できてないんじゃないかな。
実際のコードを単純化してgistとかに上げてみたらどうだい。 catchの話は無かったことにしてください。
起動がExeなのか、QtCreatorデバッガ―なのか、の判定がプログラム中で知りたいです。 >>189
実行するとき環境変数設定してgetenvしたらええんちゃうの >実行するとき環境変数設定して
QtCreatorのデバッグのオプションで設定できるのでしょうか。 そろそろVisual Studio 2017に対応した? しかし、ここまで全角半角、大文字小文字、ひらがなカタカナ、
はたまた、ハイフンと長音記号が入り乱れてる文章はなかなかお目にかからないな
会話の前後も一致しないし、もしこれで日本人なら、
そもそものコードもちょっと心配 >>191
実行の構成のところに環境変数設定がある。
ひだりの縦のバーのプロジェクト設定のところな。 誰かShogiGUIのQt版を作ってくれへんか
LinuxとMacでまともな将棋検討アプリがなくて困っとるんや 最近お仕事で使い始めた
便利なTkだな
しかしフレームワークが膨大でオライリーの第1部読んでからはかいつまんで集めた情報でコード書いてる Qtは情報がすぐに古くなるので、
・公式ヘルプ
・公式サンプル
・githubのQtプロジェクトまたはKDEのソースコード
に当たったほうがいいよ。 Qtの公式ドキュメントすごい読みやすいよな。
クラス説明のやつとか、概要一覧詳細一通り揃ってる。 コードの良し悪し以前にKDEのライブラリ環境が前提の実装になってるから
純粋なQtプログラムとしては使いものにならない。
だが全体がQtの文法で書かれてるから書き方や使い方の参考にはなる。 Visual Studio 2017でQtを使う方法教えて! qmake自体はVS2017を認識するから自力でビルド。 qtはちょっとc++やりたい時にいいね。
最近のvisualstudioデカすぎて、ダイアログボックス出すプログラム書くだけでも何十ギガバイトもダウンロード&1日かけてインストールせなあかん MinGW版は GNU configure系と相性が悪すぎてプロジェクト管理が死ぬ >>211
いや、コンパイラの問題じゃなくてqmakeによるビルドシステムの問題だから。
qmakeでプロジェクトを管理すると、ファイルをコピーしたりasmをアセンブルしたりするみたいな当たり前のことが
基本機能じゃ扱えなくなって自動化するのが大変になる。
GNU configureの自動実行もできないっぽいから実行時に自動生成されるソースファイルとかを
元のソースツリーの外にコピーして別途管理したり涙ぐましい努力でプロジェクトを維持している。 qtcreatorからCMakeFile.txtを扱えたのか……。
手書きする部分はqmakeのままでいいけど、外部ライブラリをビルドしてるだけの部分は
cmakeで作ったほうが楽だったかもね。 >>208
何か作るたびにインストールしてんのかよ qtでスキンメッシュアニメーションできないか定期的に調べるんだけど未だできなさそうかねぇ? >>215
QGraphicsViewのサンプルにあったで >>216
すまぬが見つからん
3dモデルが動いてるサンプルはいくつかあるけど、コード上で回転させたり伸縮させてるのしかないように見える。
3dモデルに内蔵されてるアニメーションデータを再生するってのがなくて、
それがないと人が歩く絵を表示できなくて困っとる qt 3d studioがリリースされるまで待つしかなさそう >>217
スキンメッシュアニメーションってのが3Dなんて誰が言ったんだ?
QGraphicsViewは2Dのフレームワークだ。で、そのサンプルがあるぞと指摘しただけなんだが。 お、おう
それじゃー3dモデルのアニメーションは
自分で書くか将来に期待するしかないねー 割と最近めのqt creatorで
デバッグ開始するとデバッグ用のウィンドウが下の方とかに出てくるんだけど
デバッグ終了しても消せない
どこ押せば消える?ググってもぽちぽちしまくっても消えん! それはね、左側のボタンをデバッグから編集に切り替えると消えるよ。
見た目ボタンにしか見えないんだけど、以前ソース見たらこれはタブとして実装されている。
visualstudiocodeでもほぼ同じデザインになってるし、最近のはやりなのかもねえ。 定期的にv-playが気になるんだけど誰かがっつり試してみた人はおらんか http://blog.qt.io/blog/2017/07/20/qt-creator-4-4-beta-released/
そろそろ
・1文字補完
・fuzzy補完
・引数と補完を同時に表示する
・補完中にdoxygen形式のコメントを表示する
ぐらいやってほしいんですけど。
VSCodeでもやってるというのに... 俺のVSCodeは全然言うこと聞いてくれないのでQt使ってなくてもQtCreator使うしかない QtCreatorはそんな細かいこと以前に
msvcと組み合わせたときのデバッガの絶望的な重さをなんとかしてほしいわ。 最近流行りのzen mode欲しい
俺の頭がバカすぎてアレがないと読むのがつらい >>229
耳栓してHMDで常に視界の中央にコードが追従し続ける究極のzen modeはどうでしょうか >>229
そんなものが必要だとか考えたことすらなかったわ。
画像ビューアだと当たり前だけど、IDEだとゴテゴテ物が付いてる方がいいという風潮すらあるわな。 >>179
もっと調べて使ってみればQMLの.uiは役に立たないと分かる >>235
モバイルでQt/Qmlが使われるようになる日は来そうにないか みんなQtで何作ってるの?
作りたいもの(特にGUIで)って次から次へと出てくる? GUIとかいらなくね?って思いながら使ってる
そろそろ自分が納得できるGUIライブラリと作り始める頃合い >>238
Qtのやり方でクロスプラットフォームは抜けだらけで嫌になる。
Qtはデスクトップとモバイルはもうダメ。
残るは組み込みだがそれもいつまで持つか。 tkは原始的すぎるし、GTK+は遅すぎるし、って考えると
Qtは相対的によく出来てるよ。wxは使ったことないから知らん。
Windowsでファイル拡張子関連付けやレジストリやらいじるプログラム作ったけど、
意外とQtだけでなんとかなるもんだ。いちいち用例やドキュメントが無いから
自力で調べ回って作らされる羽目になるが。
タイトルバーやシステムボタンをQtはほとんど制御してないことをつい先日理解した。 ここ数ヶ月?ネガキャン頑張ってるよね
QMLの悪いところを使って、あたかもC++版が悪いように表現したり、
逆にC++で問題ないデスクトップ版をQML使って陥れようとしてるし デスクトップはC++はダメで、QMLはどうしようもなくダメ。
モバイルはC++はどうしようもなくダメで、QMLはまったくよくなる見込みもない。 意味がわからん。
QMLが気に入らないなら使わなきゃいいんだし、
そうしたところでQtの価値が下がるわけでもない。
ってこういうツッコミはもう以前入れたと思うんだが。
同じことを2回言わなきゃいけないってそれだけ頭が固い証拠じゃね? MFCやらVCL使ってきた身としては英語ドキュメントしか無いにも関わらずQtのライブラリは本当にわかりやすい >>247
それってオンラインドキュメントとしての話?
VSはオンラインドキュメント化してからゴミ以下になったが
とりあえず2008以前までのオフラインドキュメントは良かった
なんにせよQtのドキュメントがわかりやすいという感覚は理解できん MSDNと比べる前提で言えば、Qtのヘルプは各APIの説明が全然足らんわ。
各引数と戻り値の説明がない。
ソースコード読んだほうが早いくらい。 >>251
Qtのマニュアルはかなりわかりやすいと思うが。
英語がある程度分かること前提だけど。 英語云々ではなく説明不足
MSなら事細かに説明が書かれてるうえに
サンプルコードがほぼ記載されてる あのドキュメントで分からないなら
qt以前にプログラミングの経験が足りないんじゃないの? MSも大して書かれていないし、サンプルコードも冗長過ぎたりしてない方が良かったりする。
まあこれ以上は宗教戦争になるな。 例えばQtでWindowsのレジストリを読み書きするときは
QSettingsにQSettings::Registry64FormatやQSettings::Registry32Formatを設定して初期化したうえで
beginGroup()〜endGroup() を多重に呼び出して潜っていくんだが、
そんなのマニュアルのどこにも書かれてない。
http://doc.qt.io/qt-5/qsettings.html#beginGroup
マニュアルだけで使い方理解できたらエスパーだな。
例は他にもいくらでも挙げられるぞ。 >>255-256
分かる分からないではなく度を超えて説明不足
MS系使ったこと無いんだな qtはwinでしか動かない訳じゃないんだから
環境依存する部分のドキュメントは汎用的になるのは当たり前でしょ Qtの資料が説明不足という例は出した。
反論できないならそれまでのことだ。 何から何までマニュアル例示してもらわないと何もできないって
自信満々に言われてもな
コピペプログラマかよ 学習の初期段階は例があればあるほどいいに決まってるだろうに SDK自体のソースコード読んで初めて分かるようなマニュアルなんて意味ないだろ。
常識で考えればわかることなんだが。 まあ昔のMSDN引き合いにするのが間違いだったよな
当時はデザパタといったテンプレート的な設計なんて浸透してなかったから、
利用者の事前知識ゼロが前提で説明も細かくなる
今はその辺理解してる前提のドキュメントが普通で、
だからこそ今のMSのドキュメントはしょぼいんだろ QtCreatorに限ってだが、普通にサンプルやチュートリアルが大量にあるので、学習にはもってこいだよ。
Visual Studioをインストールしてもサンプルコードなんて無いだろうに。
ただQtの場合はc++を熟知していないと使いにくい事は確かにある。 俺がやりたかったことのサンプルプログラムはQtには無かったな バージョンアップで仕様変更されてもドキュメントに記載なし
結局ソースコード読んで調べたわ >>246
気に入らないのではなくてダメだから価値がない 質問です。
画像ファイルの読み込みをstatic関数化したうえで
QtConcurrent::run()で複数スレッドで並列実行してるんですが、
run()に渡したstatic関数が複数回呼び出される不具合に悩んでいます。
run()を呼び出す直前(呼び出し側スレッド)でqDebug()出力した内容は各ファイル1個ずつなのに、
static関数内部はそれぞれ2回以上呼ばれてしまう感じです。
その後、関係ないときにも何度も呼び出されているような挙動をしています。
QFutureのインスタンスの扱いに何かポイントがあるのでしょうか。
この辺の挙動についてご存じの方、コメントください >>265
勝手に普通を定義すんなよ
MSは複数の言語のヘルプがごちゃ混ぜになってしまって
期待するものと違うものがヒットしやすいけど
検索がバカになっただけで内容の細かさはピカイチだわ Qtのはヘルプってより一覧レベル
一般的なヘルプは「これ使えそう」
Qtのヘルプは「名前や概要説明はそれっぽいけど使ってみなきゃわかんねえ」 みなさんGUIが絡んでいないlibの部分でもsignal/slotガンガン使ってますか? signal/slotを編集管理できるwizard系機能はQtCreatorには無いの?
面倒臭くてかなわないんだけど >>274
serialportの非同期通信とかすごく楽に書けるやん >>276
今ちょうどそういうツールをnode.jsで作っている。
正確にはactionとアプリケーション設定値の設定表とソースコードの自動同期ツールだけど。 Qt Creatorを2つ起動していると頻繁に
ビルドメニューが死ぬ。
左側のタブバーのビルドボタンも使えなくなる。
こうなるとQt Creator再起動するしかない。
めんどくさい。 >>278
いいな、俺はQMLのプロパティ管理ツールでも作ろうかな v2cつらいし誰かkitaをqt5に書き直してくれへんか windeployqtを実行したら用意してくれる translations/qt_XX.qmが、
実は置いただけじゃ自動で読み込まれないことに気付いた。
コード書いてやる必要あるってことかな。 QtCreatorのclangbackendほんと頑張ってるなぁ
独立プロジェクトにしてlanguage server protocolに対応とかしてほしいけどQt使ってるからあんま歓迎されないのかな >>285
QtCreatorのClang Code Modelプラグインで使われてる補完ツールです
別プロセスで起動してQtCreatorと通信していて、そのプロトコルをlspに対応させればvscodeとかでもそのまま動くはず
半年ほど前から公式がclangdという似たプロジェクトを始めたけど全然出来が違いすぎるし、clangbackendをQtCreatorから切り離して(さらにQt依存も取り除いて)くれないかなぁ
QtCreatorチームもclangdに関心を抱いていたようなので(http://lists.llvm.org/pipermail/cfe-dev/2017-January/052478.html)協力し合って欲しかったです
まったく同じものを作ろうとしてるのに... QML始めたけど慣れなさすぎて辛い
ドキュメント睨んで目がチカチカしてる QtもJavaFXも良く出来ている!しかし、俺はGtk+が好きでGtk+のスレがないから
言わせてくれ!Gtk+もQtQuickやJavaFXみたいなリッチクライアント&簡単なスクリプト作ってくれ・・! GTK+ってバージョン2時代の激オソ、クソ設計の頃しか知らないんだけど、
最近はマシになったのかな? gtkもqtもcmakeでおk
CLionみたいなIDEもあるし qmakeでも意外と色々できるんだが、
設計外のことをやらせようとするととたんに大変になるんだよな。
例えばasmをアセンブルする構文がないから
いちいちカスタムコンパイラ定義して外部コマンドとしてアセンブラを実行する必要がある。 WindowsのQtCreatorでBoostが使えません(C1083 cannnot open include fileと言われてしまいます。)
.proファイルに「INCLUDEPATH += "C:\boost_1_65_0"」と追加することにより、
F2キーによってヘッダファイルをたどることができるのですが、
コンパイルすると、上記エラーを言われてしまいます。
絶対パスを指定した場合、使用するヘッダの中で、さらに<>で#includeするファイルをオープンできないと言われてしまいます。
上記パス以外に、どのような設定が必要でしょうか?
OS:Windows 10 pro
Qt Creator 4.3.1bBased on Qt 5.9.1 (MSVC 2015, 32 bit) ○次受けが多いほど退場率が早くなる。高くなる
直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い 零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと これならJIETから3次でいったほうがいいな
372仕様書無しさん2017/08/11(金) 10:31:43.41
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の間でやらしている。
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET等に加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
自称エージェントはJIET等から流れてくる案件を転売してるだけだった。
労働市場(JIET等)に加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
エンド - ユー子 - エージェント-(JIET等) 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-(JIET等) 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-(JIET等) 公表価格 90~60 - JIETに加入して公表価格で応募できる
eJobgo JIET JISA で検索
優良エージェント・優良サイト
首都圏IT(PE-BANK) クラウドテック プログラマーズ Qt4.8.4でQMLを使い始めたのですが、QtChartsやGo言語を使わずに
LineGraphを作成するにはどのようにしたらいいのでしょうか? ボタンが押されたら新しいダイアログを生成するという処理をしたいのですが…
新しいuiファイルを作成して、それ専用のクラスを作る流れになると思うのですが、
#include "ui_(uiファイル名).h"
としてもビルドできません
一度手動でuicをいじってヘッダを生成しなくてはならないのでしょうか?
また、qt 5.7でwebkitを使いたいのですが、proファイルにQT+=webkitwidgetsと書いてもエラーになります
環境はUbuntuで、sudo apt-get install libqt5webkit5-devも試しましたが出来ませんでした
どうしてでしょうか? >>303
uiファイルで指定したクラス名のQDialog継承クラスを定義してあげないと
uiファイルはC++ソース上で使われない。
そのへんは口で説明するよりQtSDK付属のサンプルソースを読んだほうが早い。
ちゃんと読んでから質問しようね。 >>304
ありがとうございます
帰ったら目を通してみようと思います… >>303
Qt Creatorを使って、ファイルの新規作成から
Qt Designer フォームクラス を作れば自動でcpp,h,uiが作られるよ
...Quickのほうはよく分からんけど... >>306
なるほど!
そっちでやれば良いんですね…
uiフォームだけ作る方でやってました そういえば一時期削除されたgtkテーマのサポートが復活したようで嬉しいです >303です
デザイナでQWebEngineViewを使いたい場合、QWidgetを配置して格上げすると思うのですが、
ヘッダにQWebEngineViewを指定してグローバルにインクルードするを選ぶと「既にクラスが存在します」と出て格上げできません
自分でQWebEngineViewを継承したクラスを定義しなくてはならないんですか? だからサンプルコードを見なよ。
話がループしてるんだが。 >>309
Ubuntuのデスクトップ環境もUnityからGNOME(Gtk)になるねw Linuxは今自分が動いている環境がGNOMEなのか
KDEなのかを検出する方法がわからなくて嫌になる。
QtはGNOME環境じゃまともに動かない。 >>311
サンプルからヒントを掴みQWebEngineViewのウィジェットを表示させることには成功しましたが、そこら辺のサンプルは敷居が高く理解できません…
これから読めば理解が進む、というようなものがあれば教えて頂ければ幸いです 目的のウィジェットが使われてるサンプルを一通りビルドして動かして、
自分の目的に一番近い使われ方をしてるサンプルを改造することから始めたらいいんだよ。
いじって元のコードがわからなくなるのが嫌な場合は
サンプルコードごと別のフォルダにコピーすること。 >>315
なるほど!
そういう使い方も出来るんですね
やってみます マジでこの先Qt製の2ch専ブラなんて登場しないのかな...
v2cもjdもいい加減つらいわ... ウィンドウの左端にボタン画像を並べてタブのように切り替えられるコントロールって何かない?
QTabBarのタブに画像を貼るとある程度近くなるんだけど見た目のイメージが違う。 ダイアログだかウィザード系でそんなのあったね
QtCreatorのサンプル一覧でもあったんじゃね QtのサンプルをQtCreatorで眺めてたが、少なくともサンプルのサムネイルでは見当たらないな。
それからWizardと名のつくサンプルはないようだ。 >>323
この適当な返答するおっさん前にも湧いてたな QtCreatorそのものがそういうレイアウトじゃろ QtCreatorのはFancyTabWidgetっていうんだけど、
QtCreatorのコアライブラリと密接に結びついてて単独で扱えない。
芋づる式に20個ぐらいソースファイルの移植が必要になる上に、そのままでは動かんようだ。 qt専用のパッケージマネージャqpmってどうです? >>332
質問の場が悪いんじゃね
Qt Forumのgeneralとかいう所で聞いたら早いし優しい QMLってもしかしてスクロール関係が全体的に弱い?
QMLのListBox、100行程度入れただけで
スクロールが耐え難いほど重くなるんだけど
何か軽くする方法とか、別の手段とかない?
画面外のリストはいちいち破棄したり、表示する度に
書いてるようだけど、QMLの描画自体が重いから話にならない
実際には1000行、2000行とか入れる予定だから実用に耐えない
スクリプト言語によくあるような、QMLを予めコンパイルして
描画時スクリプト解析みたいのを無くす方法あればいいんだけど QMLのスクリプト解析描画が重いのって
ColumnやRowのリピート描画でも言えるな
標準のプログレスバーがダサいからリピートで書いたら
重すぎて高速の更新にまるで使えん QML側でどうなってるか知らないが、
ListWidgetやTreeWidgetはC++実装でも重い物だから、
数百項目以上になるなら普通はListViewやTreeViewを使う。
こいつはデータモデルを別途構築して、
Viewクラスがそれをなめて自分で描画するという手順を取る。 Qt World Summit 2017のモバイルアプリどっちも十分出来がいいように思えるな
http://blog.qt.io/blog/2017/09/29/qt-world-summit-app-2017-open-source-live-now
まあモバイルでQt/Qmlが使われるようになる日はこないだろうけど
ライセンスも酷いしな QtはLGPL/GPLの制限がある限りモバイルでは使いものにならないので、
Golangあたりで再実装して、ライセンスもスタティックリンク可能なものにするしか生き残る方法はないと思う。 xamarinがWPF/macOS/Gtk#にも対応するっぽいしマジで最初からc#学んでおくべきだったかな
最近はクロスプラットフォームなアプリといえばまずElectronでQtなんて早々お目にかかれないし、どんどんjsとc#に吸収されていきそう
Qtにうつつを抜かしてたせいでMVVMにもすっかり乗り遅れちゃったしなぁ しかしxamarinの発想は、Qtみたいに同じソースコードでどのプラットフォームにも
同じUIを提供するというものではないからな。
プラットフォームごとにUIは作り直しになる。
しかもC# がネイティブになってる処理系はないから
ツールキットAPIの脳内翻訳が必要になる。 >>337
すまん間違えた、重いのはListBoxじゃなくてListView
もちろんQAbstractListModelを使ってる
DelegateもRectangleとTextだけのシンプルなもの
この重さ、いったい何を想定して作られたんだ?
軽くする方法あるのか?
beginInsertRow-end、beginRemoveRow-endみたいな仕様も
正直めっちゃ使いにくいし、全更新の関数は落ちるし
スクロールバーの位置の保持とかどうすりゃいいねん >>343
スレ違いだからスルーする
>>344
C++で実装すると、15000件登録しても描画は0.1秒未満だよ。
もっとも、画面描画で必要な件数しかアクセスされないから、
画面外の件数は描画速度には直接関係ないが。 >>345
描画をQMLにやらせずC++でってこと?
それができるなら是非それにしたいな、サンプルとかどこかにあるかな?
細かいスクロールの位置保持や復元の方法はわからないけど
指定の行までスクロールさせる命令がQMLにあるでしょ
頭の方の行だったらいいけど、ケツの方の行を指定すると
数秒間フリーズしたみたいになる
その間は表示してないからわからないけど、もしかして
指定行までスムーズにスクロールしててあんなに遅いのか? >>346
QtSDKのソースコードに含まれてるサンプルの中に
QAbstractItemModel/QStandardItemModelそれぞれのサンプルコードがあるよ。
単なる表示用で行選択さえできればいいのなら、後者で実装すればより簡単。
個人的にはQMLはRAD開発やユーザー拡張用で、
本格的なアプリを作るなら普通にC++で作ったほうが速度出るしつぶしが利くと思う。 >>347
Qt使えとかQML使えというのは上の絶対命令でね
初動からおかしいうえに方向転換できない末期に放り込まれたから
とにかくありがとう、めちゃめちゃ参考になった
表示して選択してだけだから、まさに後者かもしれない、早速調べてみるよ FlickableとColumnとRepeaterでテストした限り100件でスクロールが重いってことはない感じ 上の命令なら、商用版でQt Quick Compilerが使えるんじゃない?
まあ、それでもC++ネイティブには負けるけど。 >>344
昔試したけどそこまで重かった記憶ないな。Qtのバージョンは? >>349
今時の速いのが当たり前のスペックだけでテストしてたら商品にならないでしょ
>>351
5 qtのsignal&slotパラダイムってgoto文みたいだよな むしろObjective-CのメッセージやC#のeventに近い。 たかがGUIツールキットで独自のコンテナやらスマポやら作りやがって
まともなC++のGUIが欲しい 欲しいと思ったときがチャンスだぞ
というかWindows FormsのC++コピーみたいなのは無いんだろうか
デザイナツール付きで QtはSTLやboostよりずっと昔から使われてるから自前で一通り持ってるんだよ。
だいたいSTLはコンパイラごとに方言があるしな。 https://www.youtube.com/watch?v=YWiAUUblD34
CppConのQtプレゼンだけやたら低評価多いな
他に比べて高評価も少ない
Qtはみんなに嫌われてるんだよね gtkmmはgtk4でc++17をフル活用出来るようになるのかな
かなり前からRefPtrは将来c++にスマポ入ったらそれに置き換えるとか言ってたのに、c++11から6年たってようやく実現されたのは遅すぎるよなぁ
まあgtkはlinux以外での動作が期待出来んしqtは捨てられないけど
でもgtkmmはまともなc++で羨ましいというか健全だ gtkmmはAPIはいいけど、本体の gtk がねぇ... c++どころかプログラミングをあまり知らない人がいきなりqtやるのっておすすめできる? PyQt/PySideでPythonから使ったほうがいいかもしれない。
wxWidgetをPerlから入るのはどうですか?
資料少ないですかね
Beが… cmakeとqmakeどっち使うべき?
出来ればcmakeでやりたいんですが困ることあります? うちはqmakeで統一してるけど、
Qt CreatorはCMakeのプロジェクトにも対応してるようだ。
ただしqmakeと違って直接読めないのでプロジェクト設定の変更に対応させるのが一手間増えると読んだ。
qmakeは一通りのことだとマルチ環境に対応できるが
ちょっと凝ったことをやり始めるとVisualStudioとかには対応できなくなる。 mocってやっぱいずれ廃止される運命なの?
https://youtu.be/YWiAUUblD34?t=1h10m20s
なくすとしてもqt6になるのかね
そもそもqtってどれくらいやる気あるんやろ
ブログ記事とかも最近はIoT系ばっかだし(Automationってやつ?)
需要も売り上げもこれからは組み込み機器に偏っていくんだろうなぁ
qt6はメジャーアップデートになるみたいだけどqt4並に互換性なくすとしたらリスクデカすぎるよねぇ そもそもC++の規格がここ10年くらいで急速に進歩しただけでな。
Qtはそれ以前からあるんだからしょうがないだろう。
過去の蓄積でできてるんだから。 >>376
古いC++を見捨てるときになくなる
デスクトップは儲からない、モバイルは使い物にならない、
残るは組み込みしかない、つまらない nvidiaのgraphics debuggerってQt製?
https://youtu.be/3D1QVspMF8w?t=13m34s
ドックウィジェットをドラッグするときVisual StudioでいうGuide diamondが表示されてるけどQtでもああいう挙動は実現出来るの?
そういうライブラリってある? QtCreatorの挙動で一番戸惑うのが
ドッキングウィンドウの挙動。
まあ慣れたけどさ。 http://blog.qt.io/blog/2017/10/06/qt-5-9-2-released/
5.9.1から300近くのバグ修正(多過ぎ)、1000以上の変更(変え過ぎ)。
未解決バグ(機能不足は含まない)は五千以上。 >>386
ウィジェットのドックなら簡単にできる。
QMLではできない。 >>389
絵文字とカラー絵文字はやっと最近表示はできる。文字が重なって使い物にならない。 devicePixelRatioの扱いがようわからん。
1.0以外の表示ができる環境がない。 >>391
VMでUbuntuのUnityかGNOMEを動かせば試せる。
設定はLinux HighDPIで検索すれば見つかる。倍に設定すれば2が返る。
古いUbuntuはHighDPI対応していないので最新のを。 >>392
どもども。Ubuntu-16.04.2 のunityでunity-control-centerを使って
メニューとタイトルバーの拡大縮小を1.5に設定してみた。
タイトルバーとメニューのテキストが文字通り1.5倍になるが、
自作アプリで表示してるアイコンや画像のDPIはそのままだ。
アイコンの表示サイズを変更する機能は自前で用意してるので
このフラグをオンにすれば問題なく使えそうだ。
一番懸念していた画像のリサイズの品質はVirtualBox上では問題なく動いてるように見える。
あくまでエミュレーター上の話だが。 qt製の2ch専ブラ真面目に欲しい😢
PCでも絵文字を使いたいんだ😭 >>394
10年以上前からその話聴くけど無いってことは需要無だろ 古参ならkitaというKDE用のQt3製の専ブラがあるで(http://kita.osdn.jp/)
最近でも作ろうとした人はいたみたいだし
Qtによる2chブラウザ MonaCute
https://anago.5ch.net/test/read.cgi/software/1364969160/
専ブラのまがい物みたいなの作ってる
http://askmona.org/3396
でも皆失敗してしまったんだ
もうここの住人しか希望が残ってないんだ😵 あ、2番目のやつはAskMonaというサイト用の専ブラか😅 デスクトップでも2chmateが最強か
情けない😢
2chMate 0.8.9.52/chromium/App Runtime for Chrome Dev/5.0/GR >>396
どんなしょぼい2ちゃんブラウザでも期待はされるから需要はある qt3dstudioが一応オンラインインストーラからインストールできるようになっているよ
βだけど AtlassianのHipchatのwindowsアプリQtで作られているらしいんだけど、
日本語入力時にバックスペースで文字消すとき
二回押さないと文字が消えなかったり
確定した文字まで多めに消したりとかなり使いにくい
これってQtのせいなのかな?
MinGW使うのやめてVisualStudioでコンパイルすると治るという書き込みも見たけど
Qtで日本語扱うならMinGWよりVisualStudioがオススメですか?
バグレポート
https://jira.atlassian.com/browse/HCPUB-268
Hipchat ダウンロード
https://www.hipchat.com/downloads 日頃からVisualStudio版とmingw版は並行して扱ってるけど、
QtSDK自体のTextEditでそんな不具合見たことないな。 今時UTF-8以外の文字コードでソースコード書くやつなんておらんやろ。 つい最近、visual studio codeのvimプラグインで、そんな現象に出会ったなぁ。
日本語編集時に意図しない文字が消えたりするやつ。 ちなみにQtにzipファイル展開させると、日本語を含んだファイル名が化ける場合があるからな
わざわざパッチまで用意して報告したのに、
動作確認コードを別途用意しろなんて舐めたことを言い出したので放置したが。 >>413
原因は何だったのでしょう? iconv の自動判定ミスかな。 zipのヘッダはある程度の柔軟性があって、内部に格納するファイル名のエンコード方法を指定するフラグがある。
つまりMBCSとUTF-8の2パターンでどちらかが使われるわけだ。
当然zipのヘッダを読んでどちらでエンコードされているか確認しながら処理しないといけないわけだが、
QtのQZipReaderは一部がMBCSでハードコーディングされているところがある。
するとUTF-8で格納されてるzipは正常に読めない。
まあそもそもDeflate64に対応してないんだから、本格的な対応とはいえないけどね。 >>415
詳しい解説ありがとう、そういう内容か。ASCII文字通り扱う分にはどっちでも支障ないし、マルチバイトのテストなんかロクにやってないんだろうね。 それじゃあマルチバイトで問題多発するのも当然だね。 それとは話は別だと思うぞ。
QStringは常にUTF-16で文字列を保持してるから、
サロゲート問題を除き、正しく扱えば文字化けすることはない。
つまり、OSのAPIなど外部APIとやり取りするときは常にそれらのAPIが
何の文字コードで文字列を必要としているかを確認し、
toLatin1()
toStdWString()
toUtf8()
などを適宜使い分けてそれぞれの部分で正しい文字コードを指定してあげないといけない。 Qtがフォントの中にグリフが入っているかどうかを判定するのを間違って
入っているのに入っていないと判定して文字化けしたのは何度もあった >>415
それzipの問題じゃなくてwindowsの問題だろ >>420
違うよ。
説明のわかりやすさのために敢えてMBCSと表現してるけど、
これは純粋にzipの仕様とQZipReaderの実装の問題だよ。
OSに関係なくこの問題は発生する。 Win上でUTF-8のファイル名で展開されても困る気がする 気がするのか。
わしは困る!と断言できる者はおらぬのか。 >.>422
全然違う。
zipに格納されているファイル名を何の文字コードとして管理し、
QStringの文字列として取り出すかどうかという話。
動作するOSのファイルシステム上のファイルの文字コードとは全く関係ない。
とんちんかんな発言ばかりする前に、ちっとは実際のソースコードを読んだらどうだ? 何でソースなんか読まないかんのよと言いたいところだが。
Qtはソース読まないと使いものにならんもんな。 むしろなんでソースコードを読まないのか。
『プログラムは思った通りに動かない。書いたとおりに動く』
の原則のとおり、公式マニュアルで不明な部分やマニュアル通りに動いてない部分があったら
ソースコードに実際に当たるべきだ。
これはQtに限らずあらゆるOSSのプロダクトに共通の態度だと思うけどな。
それに、むしろQtのソースは読みやすい部類だ。
7zとか読んだらじんましんが出そうだぞ。 それLinuxユーザーの言うUNIXの精神だよね。
ソースが仕様って。
ところが一般的には仕様と違えればソースを修正する。
ソースに合わせて仕様の方を変更することはない。 仕様と実装の齟齬なんて話は全くしてないんだがな。
マニュアル通りに動いてなければソースコードも疑えと言ってるだけなんだが。
話がとんちんかんすぎて、
レス書いてるのが馬鹿らしくなってきたんだが。 元々丁寧に説明してくれているけど、まとめると、
・zipファイルにはUTF-8でファイル名を格納する仕様があるが、QtZipReaderはその仕様に対応していない。
・ゆえにQtZipReaderでUTF-8でファイル名が格納されたZipファイルを展開しようとすると、QtZipReaderで読み込んだ時点でファイル名が文字化けする。
・また、Zipファイルの解析はQtZipReaderが行うので、OSの機能は関係しない。
って、これだけのことだろー。 QtZipReaderの仕様がどうだか知らんけど、
仕様でUTF-8でファイル名が格納されたZipファイル名に対応していることになっているなら、実装のバグ。
仕様でそのようなZipファイルに対応していないなら、仕様が古い。⇒対応するよう、仕様と実装を更新。 だね。
より正確にはUTF-8形式でファイル名が格納されたzipファイルを読み込むと、
ファイルリストは正確に列挙されるが、それが入ったQStringListにあるファイル名で展開しようとすると
なぜかファイルのマッチングに失敗して何も展開されないという挙動をする。
その原因が上に書いたもの。
そして話は >413 に戻る。 ユーザー名・ファイル名などのシステムには、半角英数字だけを使うこと
日本語などで、テストしている開発者は、世界に1人もいない ちなみに、LinuxやMac環境だと更に悲惨なことになるぞ。
UTF-8で格納されてないと、ファイル名の文字コードが不明だから
どうやってQStringに読みだしたらいいのかわからん。
マルチリンガル対応のアプリだとSJISと決め打ちするわけにも行かないし。 ZIPのEFS対応は未だにMacでも怪しいから、Qtだけの問題でもないんだけどね。欧米圏では問題ないからやる気ないんだろう >>431-432
日本語をサンプルにするから要求が通らないんだよ
クリル文字をサンプルにしとけばすんなり通ったかも知れないぜ >>437
ラベルやテキストエディットで濁点と半濁点がついた文字が2文字に分かれて描画されてしまうバグの優先順位が低いので
ドイツ語のウムラウトやフランス語のセデューユが2文字になるのと同じことだと説明したら優先順位が上がってすぐになおったことがある 別にQtに限らず
フリーソフトで日本語まともに表示できないのはよくあるだろw
文句が有ったら使うなよ! >>431
明らかなバグなんだから、
問題があるzipファイルを報告すれば取り込むでしょ。
もうひと押しお願いします。
それにしても、QZipReaderってヘルプに載ってないのね... >>442
求められたのは不具合が発生するzipファイルでなく、バグを再現するテストコード。
そこまでやってやる義理はない。
QZipReaderはプライベートなクラスだから、使うときはqmake側に
QT += core-private
などと書いてあげないといけない。 >>443
丸投げなのね...
ありがとう、使い方はわかりました。 >>445
そうだよ。
>>444
443はパッチまで作って送ってる。 パッチ送るだけなら楽だけど
取り入れて良いか確認する方は手間掛かるよ >>446
QMLコンパイラは、お試しもできないのか
QMLは重い、使いにくいもんだという経験上の概念が定着してしまってるから
試すこともできないものはリスクでしかない >>448
商用版に付いてくる Qt Quick Compiler の原型(?)は github からダウンロードできるみたい。
使ったことないからどこまで使い物になるかはわからないけど。
https://github.com/qmlc/qmlc
>QMLは重い、使いにくいもんだという経験上の概念が定着してしまってるから
元々 JavaScript みたいなもんだから Widget に比べて重いのは仕方ないけど、rapid programming には結構便利だと思うよ。 Qtに必要なのは、QMLよりもXAMLだと思う。
MVVMの普及が必要だ。 >>450
githubのは商用版に対抗して作られたもの制約や問題が多い >>403
cppとhが99%以上
qmlは1%未満
こういうものを作るにはC++ Archのpacmanで入れたQtCreatorがHelpでフォントのサイズの変更が出来ない...
誰か解決策知りませんか 拡大 Ctrl++
縮小 Ctrl+-
リセット Ctrl+0 Menu->Options->Helpからフォントを指定しても、サイズを変更しても適用されないんですよ
そこにスタイルシートが指定されてない場合しか適用されないみたいなこと書いてあった気がするんですけど(うる覚え)それが原因ですかね?
どうすればいいのだろう... >>448
QMLコンパイラ商用版限定、LGPL3への切り替え、GPL限定、
どれもオープンソースなど考えずに儲けたいだけ ドキュメントからはconnectでコンパイルエラーにはならないはずなので
ヘッダーを見たらドキュメントに書かれていないオーバーロードsignalがあるじゃないか Creatorでコード編集中にマクロが未定義になってダイアログで警告されるのにうんざりだ。
起動しなおせば使えるようになるからバグ。 ubuntuで、QTCreato4.3を使用しています
VisualStudioのように、スタックサイズの拡張はできますでしょうか? そろそろツールチップに型とかを表示するようにしてほしい リファクタリングのシンボル名変更をしようとするとCPUが100%になって操作できなくなる >>465
遅レスだけど、そういうのはQtの仕事じゃない。
リンカにオプションを与える。
具体的には
QMAKE_LFLAGS += オプション
ってproject.pro に書き加える。 Qtのダウンロードページ死んでるがな・・・
今、Qt5.9.1で、QWebEngineHistoryとかインクルードしたくて、
MSVC2017だと、QT += webenginewidgetsを追加しているのに、インクルードできないといわれてしまうし
MinGWだと、QT += webenginewidgets追加すると、Unknown moduleといわれるし
全くどうしたらいいだ >>469
回答ありがとうございます。
具体的には、下記のような形でしょうか?
QMAKE_LFLAGS += -z stacksize 1024000 >>470
WebEngineはMSVC2017とMigGW非サポート >>472
マジかよ・・・サンクス
つまりMSVC2013とかでやる必要があるということだな >>471
試せばわかるやん?
>>473
msvc2015だろjk Creatorのヘルプで戻ったときに>が有効にならずに無効になってしまうのがあるのは面倒だ VSみたいに、複数プロジェクトをまとめるプロジェクトって作れないのかな?
.pro開いてビルドを取り直すのがめんどくさい。
ご教授ください。 Qt SDKのソースを見れば分かるけど、
TEMPLATE = subdirs
と書けばサブディレクトリにあるプロジェクトが全て1つのプロジェクトとしてまとめられる。
SUBDIRS 変数にプロジェクトを入れていく。
依存関係を設定してあげればビルド順も制御できる。 qmakeは慣れると便利だけど、慣れるまでが大変。
cmakeでも良いけど、Qtが使えるならqmakeの方がデバックが楽。 >>477
xx/yy/a.pro
xx/yy/b.pro
xx/yy/c.pro
この3つをまとめるとしたら、
xx/all.proをつくり、ここに「TEMPLATE = subdirs 」を指定する書き方でしょうか? >>480
ありがとうございます。
翻訳しながら試してみます あーあ、規模が規模だし、すっかりQt依存のコードになっちゃって
Qtを使わない環境に移植するときは地獄だなこりゃ 何が楽しくて今の時代にわざわざQtを勉強するのかな >>482,483
お前らQtの専門スレまで何しに来てるんだよ。
巣に帰れ。 Creatorでキーボードショートカットの設定がモーダルダイアログなので
編集操作しながら設定できないのでやたら使いにくい Apple Watch の技術プレビューレベルの対応をいたしました、って書いてあるけれど
UI作れないのに対応したとは言えないよ
Xamarinは作れるな Creatorのウィジェットフォーム編集でコピペしたときにパレットの変更が反映されたりされなかったりする Creatorでフォーム編集中のlayout*MarginとlayoutSpacingがプレビューと実行で小さく変わってしまう
ウィンドウサイズはフォーム編集設定通りになるのでレイアウトに入れたウィジェットの大きさがフォーム編集よりも大きくなる
見た通りに編集して実行できない Widgetを動的に入れ子にしてる場合は
Designerの表示は参考にしかならんぜ。
面倒なのでスペース関係は必要な時以外0にして動かしてるな。 >>492
サイズポリシーはもっと酷くてDesigner表示では潰れてしまう
プレビューと実行では潰れない https://github.com/jacobdufault/cquery
LSP対応のcqueryがまあまあ強力
とにかくメモリ使用量がめっちゃ少ない
QtCreatorをLSPに対応させてClangCodeModelを放り投げて欲しい
少し大きなプロジェクト開いただけで気がついたら1GBとか余裕で使ってるからな Creatorの補完表示がやたらに遅いおかげで脳内補完が楽にできるようになった うちのソースツリーはC/C++で17MBほどあるけど、
qtcreatorは250MB程度しか食ってないし別に重くはないぞ。 >>496
ソースツリーの量に関係なく
やっと補完表示されてから他のファイルを編集し
戻ってきてまた編集すると補完でまた待たされる
同じものが補完されたりされなかったりもする
ヘルプも一度目は大概他のが表示され、二度目に正しく表示される
ヘルプがあるのに表示されないのもよくある
補完とヘルプがすぐに正しく表示されないので使い難い デザインエディターでサイズとかの入力中にキー入力ごとにプレビューが変わるのは筋悪、入力確定で変わるの筋良
ファイル名の変更でサフィックス含めて選択されるのも筋悪、サフィックスを除いた部分が反転されるのが筋良
フォーム上に置いたエレメントが選択できなくなるのはひどいバグ、他のファイルを表示させて戻ると選択できるようにはなる 文句あるならプルリクエスト出せよ。
何のためのオープンソースなんだよ。 >>501
オープンソースだからだと? 欠陥とバグだらけとは関係ない 僕は長い間Qt使ってるけど、Honeyは40年間いた事ないんです(><;) お前ら Qt Advent Calendar 参加しろよ
まあここにはキモカネおっさんしかいないから浮くだけか JUCEにPersonalライセンスなんてものが出来ていたから使ってみる >>505
一人で複数を除くと空きが16もある
人気ないな >>505
埋めるためだけで内容が薄いのがちらほら
よいしょで気持ち悪いのもある webassemblyでブラウザでqtがそのまま動くようになればワンチャンある? 俺に言わせれば、Gtkmmの方が良い。俺はGtkmmにゾッコンだ。
GtkmmにもQtQuickみたいなやつが欲しいな・・。Gtkmmick(Gtkモミック)みたいな感じのネームが良い。 GUIツールキットってtk wx以外になにがある? chromeでad block系をONにしたままだと
https://www.qt.io/download
からDLするボタンが表示されなかったぜ
どういうことなんだぜ VisualStudio2017でQt使うのは無理みたいだね。
日英のそれっぽいブログのとおりにやってみたけど、Qtのbuildが見つからない
」エラーでプロジェクトが作成できないよ。 コードのライセンスについて勉強したいのですがいいサイトありますか? qmake -project が二時間放置しても終わらない
たったの40行なのになぁ
Please help me. qmakeはMakefileやVisualStudioのソリューションを生成するツールだから、
qmake自体が直接何か処理するわけじゃない。
だから生成されたスクリプトやソリューションが何をしているかを調べるべき。
まあ十中八九書いた本人のせいという落ちだろうけどね。 >>533
qmake -projectが二時間以上終わらないのだからqmakeが直接処理しているだけ。
つまり、Qtのバグ。 jetbrains toolboxってQt製だけどUIはQtWebEngine使ってjavascriptで作ってるんだね
Qtの正しい使い方って感じがする
Qtがデスクトップで生き残るにはこれしかない >>529
もしかして.runファイル使ってインストールした?
それするとqmakeが正常に働かないけど >>534
ロクにやってることも知らないのによく Qt のバグとか言えるなあ。
qmake -project がやってることはカレント以下のフォルダを再帰的にたどって .cpp やら .h のリストを作ってるだけ。
カレント以下に symbolic link があって再帰してるか、必要なないフォルダへにリンクしてるだけじゃないの? >>537
やってることは知っているよ、
そういうのを判断するように作っていないとしたらQtのバグだというのすらわからないのだな。 本体横の音量ボタンを無効にすることはできませんか?
一定の音量で固定することが目的で、代替案でも嬉しいです 「どこの誤爆か?」
と書こうとしたけどやめて正解だった >>538
へー、わかってるのにわざわざ2時間以上待ってたんだ。だったらそもそも help me とか言う必要ないよね。
自分で recursive な link 作っておいてツールのバグとか意味不明だわ。 >>543
賢いプログラムならrecursive linkは考量する
もしそれを考えてqmakeが作られていならそれはバグ 賢くないプログラムを使いこなせるのは賢い人だけ
賢くない人はバグレポも出さずに文句を言い続ける QListView + QStandardItemModel + QStandardItem で
画像のサムネイル表示を作っています。
一先ず、拡張子のアイコンを表示しておいて、
QtConcurrentRun::run で 差し替えているのですが、
マウスオーバー とか resize 等 が 発生しないと反映されません。
よくわかってないまま、
emit model->itemChanged(item)
とやってみたりしたのですが、うまくいっておりません。
こういう場合どうすればよいのでしょうか? >>546
ああそれはね。AbstructItemModelに対して
モデルをリセットすると宣言すればいいのよ。
つまり、
emit beginResetModel()
emit endResetModel()
を呼び出す。当然ながら2つのemitの間でモデルの差し替えを行う。 >>547
ありがとうございます。期待していた挙動になりました。
modelで制御するんですね。 beginResetModel を使用して 1枚づつ更新できるようになったのですが、
選択アイテムが初期化されたりと、意図しないstateのreset が起きて困ってます。
(スクロール状況中だと戻ったりもしました)
できれば、item毎に更新したいのですが、どうすれば良いでしょうか? 今のPCだと1秒で20枚以上の画像ファイルサムネイルを作れるはずなので、
1枚ごとにアイコンを再描画したいと考えるのは馬鹿げていると思う。
毎秒数回程度に再描画の数を抑えるべき。
サムネイル画像のサイズは高々知れているので、
数百万個を一度に処理するというのでなければオンメモリで持っていて良い。
QVectorやQListなどに出来上がり次第入れていき、ときどき前再描画とかでいいのでは。
何番目のアイコンを選択してるかは自前で保持しておけばいい。 >>552
アドバイスありがとうございます。
描画頻度に関しては、ご指摘のとおりであり、
1秒毎にでききた分を差し替えるようにしていました。
551 の件は、描写頻度に関係なく 発生していましたので、
単純化して質問しました。
勝手に省いて申し訳ありませんでした。
> 自前で保持
reset 前後で、currentIndexを保持、復元を試しみましてみましたが、
いまのところ上手くいってません。試行錯誤してみます。
個人的には、
変更をmodel に通達したら、view が必要に応じて描画ってなって欲しいのですが、
できないのでしょうか?
reset は、強力すぎるというかやりすぎという感じがしてしまいます。 >>547
で書いたemit は不要だったね。こいつは通常のメソッドであってSIGNALではなかったようだ。
QListWidgetItemの実装を眺めたけどsetData()で結局 model->itemChanged(this)を呼び出してるから
それでいいんじゃね?
ちなみにQListModel::itemChanged()内で再度 emit dataChanged(idx, idx)を呼び出しているようだ。
ただし知ってると思うけどQlistWiget系は追加するたびに
再描画が発生するからフォルダ表示的な用途にはおそすぎて使えない。 で、カーソルの保持が消滅する件だけど、
私がやったのは初期表示とテキスト検索やボタンチェックで
表示リストを絞り込むような事を実装したから
元々カーソルの位置を保持する必要はなく、正直やってないのでわからない。
アイコンは2万件ほど登録したけど問題なく表示できる。
ついでにいうとAbstructItemModelは画面に表示されるアイテムの文だけしかアクセスしてこないので、
modelはデータをオンメモリで全部保つ必要はない。 一先ず
QListViewを派生して、 QListView::dataChanged を public から call できるようにして、
modelからの emit の代替にすることにしました。
次点としては
QListView->viewport()->update() を 適時call でも いけそうです。
嵌っていた点は、クロススレッド で emit(というか signal?) が 保証されてない点でした。
真っ当に対応するなら、クロススレッドの橋渡しを実装なのでしょうが、
スレッドまわりが理解できておらず厳しいです。
ひとまず納得できました。
お付き合いしてくださった皆様ありがとうございました。
>>555
> modelはデータをオンメモリで全部保つ必要はない。
これが、ちょっと気になったのですが、
全部登録しないと件数(というかスクロールバー)が不整合状態になりませんかね? >>556
QListViewやQTreeViewはダミーノードに対する子要素のかたちで全体の要素数を指定することになるが、
そのときに全件相当する数値を返すだけだからオンメモリでデータを持つ必要はない。 >嵌っていた点は、クロススレッド で emit(というか signal?) が 保証されてない点でした。
あと、こういうときはQFuture/QFutureWatcherを使おう。
まともにマルチスレッドを手作りするのは馬鹿らしい。 invokeMethod を使用することで thread 越えできました。
auto index = item->index();
//emit item->model()->dataChanged(index, index);
auto arg = Q_ARG(QModelIndex, index);
QMetaObject::invokeMethod(item->model(), "dataChanged", arg, arg);
これで、model 側から view をcallする必要がなくなりました。
>>558
> QFutureWatcher
document をざっと見た感じ、thread の進捗管理関連しか分かりませんでした。
もう少しヒントになりそうなワードないでしょうか? invokeMethod を使用することで thread 越え
これFAQだけど禁止されてなかった? QtConcurrent::Run()でworkerに仕事させるのが基本。
それから
1. 戻り値のQFutureをコレクションに蓄えてあとで使う
2. QFutureWatcherに設定してSIGNALを発行してもらう
のどちらかで処理するのがQt流。
[2]の場合はQFutureWatcherはコピーコンストラクタがないので
何かのオブジェクトにメンバ変数としてぶら下げる必要がある。 タッチパネルでTsLibを使ってるんだが
QMLでMouseAreaのonPressedは呼ばれるけど
onReleaseやonCanceledが呼ばれないことが稀にある。
Butttonも同じで押しっぱなしになることが。
TsLibの問題なのかよくわからないけど対処法は無いの? Linuxなら/dev/event 当たりを観察して調べたらいいんでないの?
ピュアQtでWindows/Linuxでタッチパネル対応やってるけど今のところ致命的な不具合はない。
強いていうとダブルフィンガーのスライドの検出の精度が不十分で
指一本と判定される場合が結構ある。 改めて聞かれると微妙なのでもう一度確認は必要だけど
input/eventは必ずReleaseまで出てるように見えていたと思うが
Qtを通さずダイレクトに監視した場合なので
Qtがイベントを取りこぼすことがあるのかと。 QML を触る人はドライバ寄りの知識が浅い
というあるある偏見発動中
まぁオレも似たような状況でEvent 拾って試してるうちに、
素のXで試したりして横方向への理解は深まったけども >>545
qmake が賢くないことの言い訳にもなってないな タイトルからしてつまんなそうというか
興味がなさ過ぎて見る気も起きない ダウンタウンの番組で1番面白かったと思うけど
まあどうでもいいわ 存在すら知らないしダウンタウンそれほど好きでもないから
最初からどうでもいい >>567
Qt/QMLはデスクトップとモバイルのどちらもまともに動かないから止めた方がいいよ。 >>576
人の言うことを聞かない上の人間の絶対命令でね QMLはスクリプトだからさっと書いて動かせるのがいいところだけど、
やっぱコンパイルしてネイティブコードにしないと実行すると遅いよね。 >>578
それでQML Compilerってのがあるけれど商用でしか使えなくしている。 スクリプトならpyqtが最近便利だね。pythonのguiでは一番使われているんじゃない? >>580
QMLはスクリプトだと言ってもUIしか作れない、
何かちゃんとしようとしたらC++で書かなくてはいけないので、
pyqtの方が格段に優れている。 >>579
単独で販売してたらバカ売れしそうだが、結構面倒臭いライセンスなんだよな http://blog.qt.io/blog/2018/02/22/qt-roadmap-2018/
pythonに力を入れるのは意外だな
QtCreatorのpythonサポートはちょっと楽しみ
補完や定義ジャンプはjedi使うんかな?
javascriptの補完って自前でパースしてると思うんだけど今だとtypescriptのtsserver使うという手はないのだろうか PythonによるQtは一時期触ってたんだけど、
結局手続き的にUIを構築していかないといけないから
Qt Creator のuiデザイナーとか使えないし、
逆に不便に感じるんだよな。 >>585
uiファイルをdesignerで作ってpyqtのuic.compileUi使えばええやん っていう情報を拾いにくいってことになる
python 知らんけど 当時はjavascriptがアホみたいに流行ってたからしゃーない 5.10でqt3d.animationてのが入ったみたいでとてもきになるのでインストールしてみたんだけど
サンプルないよね?
俺のインストールの仕方が間違ってる? >>591
すみません、
Qtをインストールするとサンプルも入っているのは知っています。
qt3d.animationのサンプルないよね?の意味でした ???@???
fluxやってからQtやると、シグナル飛んで、それ契機にコントロール更新されて、それでまたシグナル飛んで、その時に順序によってはスロットの要求する仮定崩れるから、メソッド呼び出す順序を注意深く並び替えて、みたいな昔ながらのGUIでありがちなやつが、辛くてもうね
1:45 - 2018年3月7日
☝ほんとコレ(´・_・`) 昔ながらのGUIでありがちなも何も、
昔ながらのGUIツールキットだからねQtは。
何を勘違いしてるのか知らんけど。 セマフオとか多用しまくってるのかな?
一連のシーケンスを機能単位でモジュールに分けて
Signal/Slotはその橋渡し程度でしか使ってないからそんな苦労してないな Windows7、visualstudio 2017 community がインストール済みの状況で
最新のqt creatorとQt5.10.1をインストールしたのですが
MSVCのコンパイラが自動検出されません。
MinGWではなくMSVCを使いたいので検出させたいのですが
ググっても全く情報が得られず、どうしたら検出できるのでしょうか? OKとか適用ボタン押されるまで変化させなければ良いだけ >>597
コマンドラインで打ってみてパス通ってるの? >>597
???
>>600
すでにMSVCで作っていたDirect3Dを使ったプログラムをQtCreatorで開発したいため
>>599
VSのパスでしょうか?
cmd開いてcl.exeなどとしても実行できないですが設定が間違っているのでしょうか?
VSもQtもインストールしたあと環境変数の編集などはしていませんでしたが必要なのでしょうか。 スタートメニューの中にパスを通したショートカットがあるはずだ >>602
すみません、スタートメニューにショートカットがあるのは存じているのですが
ここからどうすればよいかわかりません。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat x86
を実行してからQtCreator.exeを起動しても相変わらず検出されません。
Visualstudio2017からフォルダ構成が変わったみたいなのでVisualStudio2015もインストールしてみたのですが
コンパイラを検出できませんでした。 >Visualstudio2017からフォルダ構成が変わったみたいなのでVisualStudio2015もインストールしてみたのですが
さらに面倒くさくさせてどうする qt forumみたところ今のqt creatorはqtcreator自体のビルドはしなくても自動検出は働くようになってるみたいです
ttps://forum.qt.io/topic/78962/how-to-use-qt-with-visual-studio-2017
qtcreator再インストールは最新とpreview版を何度か試したのですが
アンインストールしても設定が残っているみたいなので
ホームディレクトリ\appdata以下のファイルが悪さしているのかと思い、qt関係のファイルを削除したり再起動したり
試したのですが
全く変わらず… >>606
VMとかでいいからクリーンなPCで試せよ
既に環境ボロボロに壊してる感じだから >>607
手動設定も一度試して、上手く行きそうだったのですが、
できれば自動検出されたコンパイル設定で安心して開発したいです。
わがまま言ってすみません
>>608
os再インストールするっきゃない感じがして来ました >>609
自動検出がされたりされなかったりするのはずっと前からのことで
ときどき設定したのも消えてしまう、もう諦めて手動設定している >>612
検知してる箇所?こういうの追っかけてみるのもQt理解するのに有用かもな
Qt-Creator自体がQtの活きた実装例だから >>612
Qt CreatorのオープンソースはGPLだから
見たコードを使ったアプリはGPLになる 1. 見たくないのにそこらじゅうで見せびらかされてる。
2. 見てないのにたまたま似ていただけでも疑われ、変な噂を立てれる。
3. 潔白を証明したいなら、リバースエンジニアリングを許可しろと言ってくる。
4. (言いたくないが)、処女検査やレイプ被害者の苦しみみたいなことが生じる。
5. そんなに真似されたくないなら最初から見えるようにしなければいいのに、勝手に
見えるようにしておいて、はっきり言って迷惑。 qt creator の行間がヒジョーに狭くて見づらいんだけど
広げる方法ない? 他のフォントと比べたら分かるけど、
Source Code Proってかなり行間のあるフォントだぞ? >>620
すみません。Source Code Proは使ってないです。
というか、qt creatorの行間は普通でした。
VSCODEやAndroidStudioやLinux版QtCreatorがちょっとだけ
行間広くてそれがあまりにも自分にあっていたので
QtCreatorのほうがわざと詰めてるのかと勘違いしました。 SailFIsh OSって使っているひといる?
iOS/Androidとの違いを教えてくれたらうれしい QtCreatorで行間を広くしたかった件ですが、
Rounded M+というフォントをインストールして
QtCreatorのフォント選択で「Rounded M+ 1m」を選択、
フォントサイズを10ptにした後、拡大率を105%にすることで満足の行く見た目になりました。
ttps://imgur.com/gnLGHxe
Windowsにはよくあることなのですが
アンチエイリアスやClearTypeでもなくならなかったギザギザが
拡大率を中途半端に105%と設定すると消えました。 >>616
ソースコードを読む前にライセンスを確かめるのは常識 Windowsにあるというか、WindowsのTTFは中にビットマップフォントが入ってるから、
10ptとか12ptとか、よく使われる解像度はビットマップが優先して使われる。
そういうビットマップは視認性を優先してアンチエイリアスはオミットされることがある。 >>625
視認性を優先しようとして視認性が悪くなっているWindowsのお粗末さ >>626
視認性っていうのは一般に白黒のコントラストが高い方が高いんだが、意味わかってる? >>624
読んで無くても、
「読んだだろ、嘘つき、潔白を証明したいならソース見せろ」
と脅してくる。 >>630
だから何だ?って話だな
どんな世界にもいちゃもん付ける人は一定割合存在するわけでそれが嫌なら社会との接触を絶つ他無い >>631
自分で勝手に裸体を見せておいて、見たならお前も見せろ、みたいな事言ってくる。 >>631
「一定割合」どころか、ソース公開する側が正義、隠そうとする側が悪みたいな風潮が
あるから、大多数からバッシングを受ける現実がある。 >>632-633
だから?
世の中はそういうものだって>>631に書いたつもりだが? >>636
その程度で潰れる弱いプロジェクトならどうせ長続き出来ないし淘汰されても仕方がない
それにしても ID:sIKOxZd2 は温室育ちの世間知らずか引き籠もりなのか?
甘えたこと言いたいならママに言えよ GPLに気をつけるのはまあいいとして、
何か害悪みたいに怯えるのはどうかと思うぞ。
どこまでがOKでどこからがダメなのか勉強して知っておけば何も怖いものではない。
むしろ自分がOSSで公開する分には都合のいい場合すらある。 >>639
ソース非公開にしたい人には、困るんだな、これが。 Qtがオワコンってんなら
こんなスレまで何しにきてるんだ?
フレームワークなんていくらでもあるんだから他当たれよ >>639
LGPLについて、あるサイトで勉強しても、別のサイトでは全く別の事が書かれ
ている。また、質問サイトの回答で、ある人が「これこれこういうことです」
と書いていても、別の人が、「それだとOSS作者が損だ。公開すべきだ」と怒り
に満ちたような文面で言う。同様にストールマンも非常に激しい口調で、LGPL
であっても原則的には公開の義務があるかのような事を言ってくる。
そして、LGPLのライセンス自体を読んでも良く分からない、玉虫色な感じで
もやもや感が残る。結局、クローズドにしたい人の立場では書かれていないから
そこに載ってないやり方ではOkなのかダメなのかが分からない。後からダメと
言われれば全部パーになってしまう。
また、訴えられるだけで、さらに言えば、何か悪い噂を立てるだけでアプリ作者
にとっては痛手だし、こんな状態ではLGPLは使うわけには行かない。 >>643
ここに来ているのは、事実を伝達するためだよ。 C++にフレームワークというものが必要ない
GUIならGUIライブラリだけあればいい
それ以外のものが必要ならそれだけどこからか取ってきて継ぎはぎして作る
MSですら大型のフレームワークをスタンダードにできなかった >>645
意味不明。オレはQtで問題なくアプリを開発して公開してるし。
C++にGUIフレームワークが必要ないと主張するのは勝手だけど、
だったらなんでこのスレまで来てるんだよ。
勝手にスクラッチで開発したらいいだろ。
何考えてるのか意味不明な奴らばかりだ。 QMLのドキュメントは実際の動きと違いが多すぎて酷いな Qtがオワコンとか言ってる奴は何なんすか?あのマイナーツールキットGtk+のC++版であるGtkmmでさえ
GEditやMySQLで着々と頑張っているんですよ。
Qtがオワコンとか言ってる奴は完全なお門違いですよ。
俺はね、この板でGUIはHTMLで決まりとか言われたから、Electronやってみたんですよ。
でもね、やっぱあれダメですよ。
俺が思うにGUIはやっぱQtかGtkmmじゃないとダメですね。特に、QtQuickは最高です。 ElectronはGUIツールキットとは言えないんだよね。
どちらかというとウェブ技術ベースのウィンドウマネージャに近い。
画面上に表示するウィジェットや配置はベース技術なしに全部自分で構築しないといけない羽目に陥る。
QtやGTK+から始めれば当たり前にあるものがない状態から始まる。この苦痛は耐え難いものがある。 QT(Quick Time)に親兄弟親戚皆殺しされたんだろ?
そりゃ見境なく何年もネガティブキャンペーンやるだろ
C/C++がオワコンって言ってるJavaアプリプログラマ層とあんまり変わらんよ
自分の狭い了見で世界のすべてを語ってるだけ 普通のデスクトップアプリを作るならQt一択なのはわかるんだけど、バグを回避しながら使わないといけない。
特に日本語入力回り。
OSSなんだから自分で修正←簡単にはマージしてくれないから無理。
※有償版もあるので簡単にマージしないのは責任もって開発してるってことかもしれないし、マージしないのがダメってことではない。
安倍総理と同じで他に選択肢が無いからQt一択になってるだけだと思う。 ちなみに、Qt使って最初に気持ち悪かったのは勝手にメモリー管理されることだけど。
時間の都合でサーバーサイドにQt使ってみたら超安定して長期動作してるから、きっとあれで良いのかもしれない。
杞憂ってやつか。
でも、明示的な管理ができないとなんか気持ち悪いよね。
Javaとか使ってる人なら自然に受け入れられるんだろう。 Javaのガベコレとは違って
widget同士でチェーン管理されてるんじゃね
Javaよりは明示的に追いかけられるはず Qtの生存管理はオブジェクトツリー方式。
親が死ねばその子孫は全て開放される。
最上位はスレッド自体になっているので、
ワーカースレッドで生成したオブジェクトはメインで使いたい時は
メインのスレッドオブジェクトに登録し直す必要がある。 QMLってメソッドのバーチャルオーバーライドすらできないのか。
型厳密と言いながらenumの型チェックもできずに整数で扱うので間違えて書いてもエラーにならずにおかしな動きをする。
ダメな言語だ。 Qt.AlignLeft,Text.AlignLeft,TextInput.AlignLeft,TextEdit.AlignLeft,TextArea.AlignLeft,TextField.AlignLeft
言語として破綻している JavaFXは次期Javaの正規プロジェクトから外されるんだってなw
Qtもオワコンだし、Gtkも当然オワコンだし、おとなしくC#でもやっとけって暗黙の了解w? しっかし、スレ違いだけど、JavaもJavaEEも外すし、JavaFXも外すし、JavaSEは既存の企業からもライセンス料とることになったし、
元のJavaは何が残るの・・w Qtも似たような道を通ると何も残らねえんじゃねえのか・・w
なんかそうなる様な気がするw でもGtkとQtは根強いLinuxのベース環境があるからな・・w 強そうだな。 そろそろ新しいクロスプラットホームなGUIツールキットが出てきてほしい 実際開発者の自己満足以外で
ユーザー側にクロスプラットフォーム求められているソフトってあるのかね
もしくはクロスプラットフォームに対応するコストに見合う売り上げが見込めるとか
各種OSのユーザー層考えると「こういうことをやる場合はこのOS」とか決まってそう
マイナーOSでヒットしたソフトを移植する際は
最初からクロスプラットフォームでつくっときゃよかったなと思うかもしれないけど
そんなの作る前からわからんし 個人的には、Win用に作ったソフトがスマフォで動けば、人に見せびらかせそうで
魅力がある。あと、Linuxで動けば、今後運がよければ一儲けできるかもしれない。
Linuxは嵐の前の静けさなのか、それとも衰退していくのか先が読めないけど。 少なくともWin/Mac/Linux共用で動くようにしておけば、Linuxで有名なアプリになることは他よりたやすい。 Embarcadero系が頭に浮かんだけど、あれはLinux非対応か。 やがて悲しきクロスプラットフォーム、クロスプラットフォームは幻想
所詮クロスプラットフォームは最大公約数、デスクトップとモバイルの最大公約数はとても小さい
Qtの将来はもうない ???
デスクトップとモバイルをクラスプラットフォーム化しようなんて誰も考えてないだろ。
お前は誰と戦ってるんだ。 Qtはもう組込だけしか考えていない
デスクトップとモバイルはKDEとの約束があってBSDライセンスにならないためのおまけ扱いでバグ修正や改善は二の次 ???
OSSのソフトウェアのライセンスを何にするかは著作権者の専権事項であって第三者は文句言えないんだが?
だからQtの運営会社がBSDライセンスに変更すると宣言すればBSDになるだけだ。
PyQtは当時のノキアがLGPLに変更して欲しいと要請したが、PyQtの開発チームが拒否したために
ノキアはPySideを0から開発して LGPLで公開した。 Qtで作られたopentoonzの盛り上がらなさからいってQtは難しいのですか どうしてもLinuxで動かしたいのでなければわざわざQtを選ぶ理由はないかと で? って言いたいのはこっちなんだが。
Qtなんてただのツールキットであって道具だぞ。
使いたければ使えばいいし、使いたくなければ使わなければいいじゃないか。 周りとの会話に参加せず、
ひたすらモバイル回りの文句だけ言い続けるやつが居て気持ち悪いわ。 QMLの気に食わない点を上げて、Qt (C++)はクソ
が常套句になってるよな、この粘着君 GTKは糞だと思うがQtは頑張ってる
そんな漏れはwx使い Qtインストールしようとしたのですが、45GB近く空き容量必要なんでしょうか??
空き容量足りません。 ごめんさい。ツリー展開できて色々インストールするコンポーネント選択できました・・ なんだ、これ。日本語入力してるとバグるんだけど。このQtのエディタ。
ひでぇ品質だな・・ 《 後継開発環境のご案内 》
LinuxMintのダウンロードはこちらから。
Main Page - Linux Mint
https://linuxmint.com/
https://linuxmint.com/download.php
---------
AGK無料試用版の配布開始(リンク先にWindows、Mac、Linux版のファイルが直接置いてある)
AppGameKit - Free Trial Version
https://www.appgamekit.com/trial
無料試用版
AppGameKit無料トライアル版は、AppGameKitの主要な領域すべてにアクセスできるため、
完全に評価することができます。完全版の有料版には、次の主要機能が含まれています。
・ Android、iOS、HTML5にプロジェクトをエクスポートする
・ アプリをデバイスに直接ブロードキャストする
・ コンパイルされたプロジェクトからウォーターマークを削除する >>684
ノキアの横暴だということすらわからないのか >>689
デスクトップも駄目だなのに、モバイルが駄目なくせにクロスプラットトフォームなんて言うな。 ホントにここ数年間、ひたすら粘着し続けててたんだな
そこまで続けられる燃料が正直気になるわ >>697
わけわからん。
OSSにおいて、ライブラリが増えて選択肢が増えるのは常に善だ。
お前はOSSのなんたるかが全く分かってないとしか思えん。
意味も分からずわめいてるだけなら黙っててくれないか。 Node.js と io.js だったっけか
ああいうの思い出した 商用のWindowsとLinuxで動くアプリだと大体Qtが使われてるね。まあうん百万するアプリばっかだけど。 Qt自体の信頼性も怪しい部分とかちょこちょこあるのに? coreライブラリとnetworkライブラリは枯れているし、いい感じで抽象化されているしね。Windowsだけなら.netだけで十分だけど、Linuxまで考えるとコードの共通化は大事だよ。
現状Javaは重すぎて話にならんから、qt一択だね。 商用に限らず、いろんな大手チップ、デバイスメーカーが評価ボード提供する際
その制御、設定用ツールなんかにもよく使われてるね どんだけ現実を受け入れたくないんだ?
単純にlibQt5系のライブラリが同梱されてるアプリだったり
ドライバ層のCソースを流用しやすく、かつマルチプラットフォームも実現する意図が丸見えなアプリで、
メニューのアイコン領域がそのままでLinux 風レイアウト丸出しな、UI に関しては手抜きなアプリ、
律儀にヘルプからQtのバージョンをダイアログで出す、なんてのもある
PyQtでのコード付きサンプル提供ってのもあったな
世界最大手、それに近い規模のメーカーが出してくるのは、
この手の顧客がWindowsに限らないためにeclipseのアドオン系かQt製が多い >>703
QtはOSSなんて嘘っぱち、商用で儲けたいだけ >>710
LGPLv3で縛った糞ライセンス、こんなんでは使えない 他人に具体的に根拠要求するくせに、根拠なく、猫の額ほどに狭い視野だけで否定する
小学生かな? 自動車業界でもよく使われてるね。
ナビとかメーターパネルとか。
量産品には使われないとしても(使ってるケースもあるけど)、プロトタイピングは多い。
WindowsとかのPC上で作り込んだものをQNXやAndroidのボードに持って行って動かす、みたいなやり方をしてるとQtが便利。 >>711
Qt Community Licenseで使える範囲のQt系のライブラリは全てGPL/LGPLで使えるじゃん。
それのどこが嘘っぱちなのか全くわからないんだが。
論理的に説明してくれよ。説明できないならレス数の無駄だから黙れ。 >>713
LGPLv3は製品にインストールする方法を教えなければならないのだよ。
そんなことはできない。 >>714
小学生としか指摘できない幼稚園児さん。 >>718
黙るのはお前、LGPLv3とLGPLv2の違いを知らない。 >>715
使われているように宣伝されているだけで実際には使われてない。 >>721
??? そもそもQtは GPLv2/GPLv3/LGPLv2/LGPLv3 の4つから選べるはずなんだが。 Raspberry PIのPythonプログラムの画像処理でQtを使い初めました。
フルスクリーンで1.jpgを表示後、1秒後にフルスクリーンのまま2.jpgの表示に切り替えたいのですがうまく出来ません。
以下プログラムです。どなたか修正ご教授お願い出来ますでしょうか・・
import sys
import time
from PySide import QtGui
app = QtGui.QApplication(sys.argv)
pixmap = QtGui.QPixmap('/home/pi/Pictures/1.jpg')
screen = QtGui.QLabel()
screen.setPixmap(pixmap)
screen.showFullScreen()
sys.exit(app.exec_())
time.sleep(1.0)
app = QtGui.QApplication(sys.argv)
pixmap2 = QtGui.QPixmap('/home/pi/Pictures/2.jpg')
screen = QtGui.QLabel()
screen.setPixmap(pixmap2)
screen.showFullScreen()
sys.exit(app.exec_()) せめてお前、Pythonスレでもらったアドバイスを元に修正してから来いよ
各行で何やってるか理解したら、もう少しマシなコードになるだろ QTのMainWindowで、全画面ボタン「□」を消したいです。
setWindowFlagsでできるのでしょうか?
ご教示願います。 >>726
setWindowFlagsでできます 公式で MinGW 64bit 版出るようなこと書いてあった気がするけど
無くなったんだろうか? そんなん別に自力でビルドしたって大してかからんのだし。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
HMJSV Qtで作成したコード(Androidアプリとして完成)を、
Android Studio上で動作させるようにするのは
どうすれば良いでしょうか?大変でしょうか?
大雑把な質問ですみません。何らかの指針が欲しくて書き込みしました。 基本的にQtでコードを書いたらQt系の環境でビルドすべきだと思う。
Android StudioがJava以外の言語のサポートをしてるかどうかは知らないが、
QtのC++やQMLをビルドできるものなん?
私ならC#+Xamarinで作るけどな。 コメントありがとうございます。
QtではC/C++で作っています。
Qtのライセンスの関係も含めて、Javaで書き直す必要があり、
同じAndroidアプリをAndroid Stduioを利用することにしました。
そのため仰られる通り、C++/QMLなどのJavaへの移植の難易度が判らず、
どう手をつけていこうか悩んでいます。
何かアドバイスやサイトがあれば教えて頂きたくお願いします。 C++(Qt)からJavaに自動変換したいっていう話なら
世の中五万どころかもっと大量に需要はあるだろうけど
今のところ使えるものなんて聞いたことがないな qtがOpenSSLを見つけてくれないんですが、これ明示的に指定するのはどうやってやるんですか? >C++/QMLなどのJavaへの移植の難易度が判らず
自分で判断出来ないならそもそも移植諦めた方が良い >>738
自己解決
openSSL_1.1に対応って書いてあったからてっきり公式ビルドも変わると思っていたが、公式
ビルドは1.0で、互換性無いから1.1で使いたかったら自ビルドしてねってことですね ようやく自作アプリをWindows/Linux/Macの3OSに対応できた。
長い道のりだった……。 t-kernel もあるぞ
もうメンテされてないかも知れんが 知らんがな。
ソースコードは公開してるんだから、欲しければ自分でやったらどうだ。 iOSとAndroidのアプリをQtで作ろうとしたけれどまともなもの作れないじゃないか。
どっちのUIもひどい。iWatch対応ってなっているけれどUIを作れないのは嘘つきだ。
モバイル対応はまったくできていない。 ○Windows アプリをそのままAndroid で動かせる
×Android SDKをフルセットで扱える
iOS?知らんがな Qtって誰が使ってるんだろう
話題になったアプリがQt製だったことなんて2年前のopentoonz以来知らないわ ぶっちゃけ、デザインに『凝ってない』アプリか、
Windows でライブラリが同梱されてるかぐらいじゃないと気付かないと思う
業務用、組込み用なんてわかるはずもなく pythonでGUIだとQtくらいしか選択肢ないんちゃうの 手元のPCで見る限り、
・フリーソフトの動画編集ソフトで海外製のやつはだいたい
・DropBox
・Adobe AIR/OpenCL SDK
・画像ビューアがいくつか、
だな。
スタティックリンクされてるのまでは調べてない。 >>757
Tkinterが標準でしょ・・。
あと、PyGtkもC言語のGtkよりWebページだくさんあるよ。 こちらのゲームツールをwindowsで実行したいのですが
http://generalarcade.com/gamepadtool/
エラーメッセージのダイアログが出てしまいます。
ダウンロードして解凍するだけなので再インストールはできないし、
対処方法を探しましたが解決できないため
お伺いする次第です。どうやれば実行出来るのでしょうか
検索しても、
1. qt.conf をつくれ → 何のパスを設定すれば良いかわからない
2. depends でパスを調べれ → 対応してもエラー箇所が減らない
3. 作者に聞いてみる → 解凍して実行しろよとのお言葉。わけわからん
マシンはwindows10 pro x64,QT5.8もインストールしてみました。
---------------------------
gamepad-tool
---------------------------
This application failed to start because it could not find or load the Qt platform plugin "windows"
in "".
Reinstalling the application may fix this problem.
---------------------------
OK
--------------------------- >>762
エラーメッセージで検索すると似たようなのが出てくる。
https://github.com/ContinuumIO/anaconda-issues/issues/1270
・2byte文字を含まないフォルダにファイルを置く
・platforms にある qwindows.dll を exe と同じ階層にコピーする
のどちらかで解決できそうだが >>763
残念ながらどちらともダメでした。
回答ありがとうございました。 ファイルパス・PC のユーザー名など、システムに日本語を使うな
半角英数字だけを使え それ、どっちかっていうとmingwの制約かと
まぁ開発者にとって気持ち悪さは半端ないけども >>762
それはqwindows.dllが足りないときに出る症状だ。
通常platforms\qwindows.dll に配置すればいい。
qt.confを各と、Qt製アプリが必要とするQtのプラグイン等のパスを変更することができる。
Qt SDKのwindeployqt.exeにアプリのexeをドロップすると、そのアプリが必要とするプラグインや
設定ファイルが自動生成されるからやってみるといいかもね。 回答ありがとうございます。
結果からいうと、動くようになりました。
解凍でwindows10の展開機能を使いました。
サードの解凍ソフトではエラーが出るのです。
作者殿の回答をよくよく見てみれば確かにそう書いてありました。 良かったらそのエラーになった解凍ソフト教えてほしい 当人じゃなく、別件ではあるが、
圧縮解凍ライブラリが静的リンクされてるやつ、
もしくは32bit系当時のソフトだとなりがち
メジャーなライブラリで、dll形式で同梱されてるやつだと、
そこだけ更新すりゃ特に問題起きないね たとえばLhaPlusみたいなクソアーカイバだと、
deflate64なzipの展開をぶっ壊れた状態で平気で展開するから
作者に余計なクレームが届く悲劇が起こる。
そのくせLhaPlusは公開したままだしな。
マジ迷惑だわ。 古すぎるそんなの使うなって話だけど
それなら公開したままのサイトの責任もあるよな お気楽な無責任バグ修正ビジネスモデル
Open Governance → Open Maintenance → Waiting for 3rd party response
→ Too old → Removed Qt Creatorで開発を始めたところです。
Windowsで、日本語を含む文字列「テスト.txt」を引数に渡すと「???.txt」に文字化けします。
デバッガで見ると、main文のargvの時点で「???.txt」になってます。
QString::fromLocal8bit(argv[1])の結果も同様です。
これってなぜでしょうか?
(Linux上では問題なし) >>775
ファイルをUTF-8 BOM付きにしたらイけました。
(コンパイラはVisual C++)
ありがとうございます。 ちなみに Visual Studio で、ソースコードを BOM なしにするとひどいことになるゾ
主に日本語コメントがめんどくさくて、
/*これはダメで*/
/* これはOKだ */ 「無料が基本」のオープンソース文化圏で有料ソフトウェアの販売は受け入れられるのか?
https://gigazine.net/news/20180725-hiri-on-linux/
このhiriっていうメールアプリQtを使ってるみたい >>777
スペースの有無で上手くいかなかったりするってことですか? BOM なしUTF8にした場合の話ね
/*の直後にマルチバイト文字が来ると誤判定されるっぽい
まぁVisual Studio としてもBOM ありを推奨してたはずだから文句は言えないのだけど というよりも、プログラムに日本語を混入する方が馬鹿げているので、
プログラム本体は全て英語で作って日本語の部分はコメント程度に留めておくことを進める。
文字列リテラルとかは全部外部化する 昔、YPSと言う日本語+フローチャートな言語があってな・・・・ってまだ作っとんかい!?→不治痛 文字列リテラルを全部外部化するといっても、必ずしもテキストファイルを読み込むコードを手で書く必要はない。
tr("abc")
ってプログラム中に書いておいて、Qt Linguistで言語リソースを作ってアプリにバンドルすれば、
実行時には文字列"abc"に対してQtが自動的に
日本語の文字列を割り当てる形でプログラム中に読み込まれる。
もちろん言語リソースの選択はPC環境の言語に合わせて自動選択することも明示的に選択することもできるし、
iniファイルとかを作って自前で差し替えするコードを書くこともできる。 midiの編集ソフトを探しています
GUIアプリケーションの開発になるので、VisualStudioでMFCと思い立ち、WindowsAPIにはmidi関連のAPIも含まれてるので、面倒なサードパーティライブラリを用意したりmidi再生部分を自作する手間が省けると思いました
調べたらQtもmidi関連のAPIを持ってそうな雰囲気なのですがどうなのでしょう?
ただ、日本語の情報がなさそうでした
確かFluidSynthのGUIがQt製だったように思いますSoundFontが使えるのでmidi化したあとのプレイバックに使えますかね? ふと思ったんですが、スキャンした楽譜からMIDIデータを生成するんじゃなくて、例えばMuseScoreのような楽譜xmlを書き出した方が良いですよね 楽譜の読み方とかよく知らないけど、五線譜のエディタがあっておたまじゃくしを配置するとドレミとか再生に必要な情報がキューイングされて行って、midiファイルをエクスポートする時にmidiのデータ形式に変換されるイメージだった
楽譜の画像解析とか面倒な事はしなくて、ユーザーに楽譜を書かせる感じ
openmidiのページにある世界樹ってやつの機能切り出し版みたいな 任意の位置の点が0か1か、と、楽譜、なら、こりゃもう楽譜OCRだろうと思ってたw soundOCRなら意味あるけど楽譜OCRなんて馬鹿のやること 単純にドレミをmidi形式でシリアライズするぐらいならWindowsAPIとかQt備え付けのAPIで充分かな〜と思ってたけど、エフェクトとかも編集したいとか要望が複雑化してくるのなら確かにopenmidi使うのが良いかも
openmidiで物足りねぇ俺はもっと変態的な事がしたいんだ!ってなった時にはサウンドプログラミングを学ぶのも手かな Qtで表を表示したいんですけど
1つのヘッダーに2列データを表示するみたいなことって出来ませんかね? >>795
QStyledItemDelegateを使って描画イベントを乗っ取るのが一番簡単だと思う。
基本的には元の描画方法をコピペして乗っ取っても同じ描画になることを確認してから、
少しずつカスタマイズしていく。 >>797
QStyledItemDelegateですね
ちょっと調べてみます
ありがとうございました QPrintDialogでオプションで設定した用紙サイズが反映されないんですが、
なにか原因ありますかね?
printer->setPaperSize( QPagedPaintDevice::A3 );
printer->setPageOrientation( QPageLayout::Landscape );
QPrintDialog *printDialog = new QPrintDialog( printer, 0 );
printDialog->enabledOptions(); 質問です
C++ではこんな風に書けばメインスレッドに簡単に投げられますがpyqtで似たようなことをするにはどうすればいいでしょうか?
QObject::connect(&QObject(), &QObject::destroyed, [&]() { }); こんな風にしたいんだけどどうすればいいのか全くわからない
そもそもconnectが見つからない
from PyQt5.QtCore import QObject
QObject.connect(QObject(), QObject.destroyed, lambda: print("print")) フラットデザインといいますかwebページっぽいデザインにしなくてはいけなくなったんですが
webengineを使わずにそれっぽいデザインのサンプルはどこかにないでしょうか? Qtアプリの見た目を変更するのはWidgetにStyleSheetを適用するんだが、
アプリ全体に同じようなStyleを統一的に適用するためのThemeという仕組みが存在する。
基本的に各OSごとに用意されているわけだが、フラットなUIを実現してくれるThemeがなにかあるかもね。
見つけたら報告してね。 windows10でQt5.11+qtcreator4.6にしてから、
日本語入力して確定前にBackspaceで入力中の文字を削除すると、
実際のテキストでは消えているのに、表示上は消えず、しかもカーソルが
消えてしまう、みたいな現象があるのですが、解決方法ご存知の方いませんか。 >>808
俺もそう思うがリバースエンジニアリング対策でコンパイルできる言語でないとだめだと言われた >>810
Javaもc#も駄目なのか
JavaScriptを難読化させたら読む気にならないコードになるが。 ウィジェットコンポーネントが整備されてない
Electronでまともなアプリを作ろうと思ったら火傷するだけだと思うんだがな。
最近のエンジニアはそう思わないんだろうか。 WindowsのQtで、USB シリアル使用中に、USBケーブル引っこ抜かれたときのえらーって
検知・対処方法ってわかりますか
スレッドの終了またはアプリケーションの要求によってI/O処理は中止されました
と出て、次に延々と
デバイスがコマンドを認識できません
のダイアログが出てきて追われないんです。
仕方なしにタスクマネジャから殺しています
殺さずに自分で終わりたいのですが >>813
んー、Windowsでシリアルデバイスを扱うこと自体はWin32 APIでもそれほど難しい処理ではないから、
一度自力でサンプルを書いて挙動を調べたほうがいいと思うよ。
API越しのデバイスの実際の挙動を把握してから、自分で作ったQtのプログラムでどうすべきか考えればいいのでは。
あるいは、GUIだけQtで作って、通信部分はWin32 APIで記述するキメラ実装であってもいいわけだし。 boostにシリアル通信用のライブラリも無かったっけ boost.asioはライブラリを作るためのライブラリなので便利なライブラリを見つけてきた方がいい c++の構造体をqml側で読み込むには構造体の要素それぞれをQ_PROPERTYマクロで宣言するしかないのでしょうか? コンパイルが糞重いんで、
Zapccに対応してくれないかな〜 サブプロジェクトに分けて、最終成果物だけリビルドしたらそれほど遅くはない まぢかw
qmakeが今ひとつ書きづらいところがあるからqbsに将来的に移行しようと思ってたが、
(installシステムを活用しないとまともに処理が書けない)
CMakeに開発リソース突っ込むのかよ。
こりゃあqmakeも捨ててCMakeで書き直したほうがいいかもなあ。 >>821
レスが遅れてすみません
サブプロジェクトに分ける方法を試してみます あれから勉強してqbsで
自作のProductやModule/Ruleを書いて動かせるようになったが、
資料がなさすぎて死ねるな。
公式ソース添付のテストプロジェクトが一番マシな資料というね。 最近転職活動してるんだが、Qt の需要高くなってんのな
車載経験してるのもあるけど、他業界の組込み系もQt採用を追従してて、
そんなにアピールしてないのにそこに食い付く企業さん多い まあQtの組み込みアプリをメンテして50万って仕事ならあるな。 組み込み系UIでまともに使えるフレームワークがあって、タッチ操作がさばけるのはQtくらいしかないからな javaからの移行考えてるけど
メモリリークが不安で踏み切れないです
正式記述は覚えることは基本として
使いやすい(手間のかけない)fullGCみたいのってあります?
メモリリークの検出機能でなんとかなるのかな そんなものはない。
ってかメモリ開放は全て責任をとった上で、
メモリブロックの開放確保のアルゴリズムをライブラリ切り替えで変更するのがC++の流儀。
まあ、Qtはその部分も内蔵してるので、ここを差し替えるときは自力でQt全体のビルドが必要になるが。
メモリ確保がシビアなら、実際の処理を別プロセスにやらせて、プロセスごと殺せばいいんじゃね。
その方が手っ取り早い。 よく思うのだけど、Qt のサンプルとかってやけにnewで動的確保してない?
必要な時に初期化しつつ生成ならまだしも、
常に持ち続けるパラメータだったり、生成が一度限りのインスタンスだったり
QObject や QWidget のベースクラスへのポインタ渡せば、
自壊時にメモリの解放もしてくれます、って機能は、
逆に new で動的確保したアドレスでないとダメって縛りはないですよね? 親子にしておけば勝手に解放してくれるから
newしまくるのがQt流 Qtで2万行ぐらいのアプリ作ってるけど、
結構ローカルスコープでインスタンスを扱うことが多いかな。
QImageとか、カジュアルにインスタンスをコピーしても
パフォーマンスの問題がないのは嬉しいね。
ポインタをやむを得ず使うのはコピーコンストラクタがまともにないクラスを扱う場合。 そりゃインスタンスは余程のことがなけりゃ滅多に動的では取らんだろー
今も昔も変わらずさ
一般型の動的配列はCやってきた奴はalloc使いたがるつーかallocしか知らんけど
C++ならnewだわな vectorは配列やクラスインスタンスには使うけど
一般型でvectorは使わんな QtCreator使いにくいからVSで開発したいのに環境構築で詰む QtCreatorってファイルが増えるとエディタが物凄く遅くなるんだけど、
回避方法あるのかしら? 4000個ぐらいのファイル数のプロジェクトを作ってるけど別に遅くないよ。
qmakeの実行は時間かかるけどこりゃあしゃあない。 >>848
とりあえず最新の4.8.0に更新してみたら? あとVisualize white space が有効だと遅くなるとか見た記憶が >>849
>>850
ありがとう
最新版の QtCreator を使って様子を見てみます
Visualize white space も無効にします この2019年においてSTLとQtコンテナどっちを使うべき? ものによるとしか言いようがない。
Qtの範囲で使うだけならQtで作ればいいし、
Qt以外の世界でも使いたいならSTLで作ればいい。 コンテナだけのためにQt採用はさすがにやり過ぎだわな
移植範囲もQtが使える環境前提であればQtのコンテナ使えば良いし、
Qt自体、STL版は性能面に於いても勧めていない GUI部分だけQtを使うってのは少数派なんですかね 暗号クラス作ってくれんかな
しょぼいハッシュ計算だけじゃなくてAESと公開鍵暗号がほしい
CryptoPPやBotan使えばいいんだけど TrippleDES程度なら無かったか?
悪い記憶が曖昧、実装した記憶はあるんだが、俺が自分で作ったのかな? 暗号ライブラリは調査機関の認証を得ないと意味ないから個人が趣味で作ったのではなくQt Projectとしてやってほしい 暗号化ライブラリそのものはないっぽいけど、SSLで暗号通信するモジュールはNetworkにあるっぽいよ。 >>861 さんのいう通り OpenSSL を呼び出すだけ 認証機関で認証されてないけど去年話題になったgoogle製のtinkあたりでもいいだろ。 その辺のQtラッパーを作ってくれると楽でいいや
QByteArrayを直接突っ込みたい そうか
せっかくネットワーク回り整ってるのに暗号がないのだけが残念と思ってただけだ http://blog.qt.io/blog/2019/01/25/introducing-qt-http-server/
Qtが公式でhttp server出すのか
WebAssembly対応も進んでるっぽいからフロントエンドとバックエンド両方をQtで書けるとなると意外に需要があるのか? 認証機関とか意味なさ過ぎて草
確信が欲しければ自分で実装見ればいいだろ 意味がないとか、客先相手したことないの?
(と思ったオレもその手の案件はないけども) すいません質問よろしいでしょうか?
QMLのGridViewに画像を挿入したとき自動的に描画されなくて困っています
スクロールして一旦画面外に出せば描画されるのですがQAbstractListModelに挿入したら即座に再描画させるにはどうすればよいでしょうか?
ちなみにデータはリアルタイムで追加されたり変更されたりします QMLはあんまり触れてないけど、SIGNAL/SLOTに相当する機能あるんじゃないの?(update とか)
明示的にSIGNAL発行しないと更新されないのであれば、
それはそれでお粗末な仕様だけども QtってC#とかより面白よな。なんでもっと売れないんだろう。
やっぱ、何の社会でも金がものを言うなw なんか日本ではプログラムはオタク系のものになってて
本も全部そういう思考で書かれてる。
元々プログラムもセンスある人がトップに入れるものなんだろうけど、
日本はそういう人いないみたいだね。
入門Qt4みたいなセンスがあり、本来のプログラミングの楽しさも味わえる本が日本でも
出てくるといいね。 高い金だして、文系の書いたような本ばっか買って、アホミタイ Qtの関数は、時々ヤバい不具合の起爆剤になってるから
便利だからと言って過信できない点が怖い Qtつまらないよ
Linuxだと他にまともな選択肢がない GUIツールキットはつまらなくていい。
変な動作をされるよりは。 QML使いだしたけどちょっとしたオブジェクトの生成も別ファイル用意するか文字列の引数でコード渡すのか
もっとサクッとできないものか >>869
golang勉強しようかと思ってたがもしかしてC++で事足りるのかな? wtとtreefrogのどちらがよいでしょうか?
LAN内のPCからのみ動画を閲覧できるwebサービスを作る予定です QMLを使ってiOSで動かしてるんだけどスクロールがガクガク何だがどうしてだろう
QMLの描画エンジンのフレームレートを制御する方法ってあるかな? 元々QMLはJavaScriptで動くのが基本なので遅い。
さらにiOSはJavaScriptのJITが無効なのでなおさら遅い。
解決策としてはQMLをネイティブコンパイルする。 QMLの遅さの原因はそこだけじゃない
構造そのものがおかしい まともな定義とはなんぞ
モバイルアプリって範疇なら組込みLinux / Windows も含まれるよな
まぁLinuxデスクトップ相当のUIならそのままAndroid/iOSでもほぼそのままで動くけども >>898
作れるけどそれぞれネイティブで作った方が早いんじゃないの?って気になってくる 速度の話をすればQt使わない方がもちろん速いけどね iOSはともかくとして、鈍重なAndroid SDKをバイパスして
Skiaに直結できるQt 製アプリのほうが高速な可能性まであるぞ。
まあライセンスの問題はどうにもならないけどね。 Qtのスマポってvoid使えないんだな
全部Qtで統一してきたのにそこだけstd:shared_ptrになって不格好 void ポインタ使うのが不格好なのでは?
あまりにも型変換が自由すぎる そもそもQtほど型・インターフェイス継承きっちりやってるライブラリもないのに、
型無視してスマートポインタを使ったら片手落ちだろ。
自動破棄できなくないか。 >>873
QAbstractListModelを使えばデータが変わればGridViewに自動的に描画される。
QAbstractListModelを継承したクラスの実装が間違っていてデータ変更をシグナルで通知していないからだ。 c++20でc++11並に機能が強化されるし最早gui部分以外にqt使いたくないよ プログラム内で呼んだ関数の戻り値一切テストしないプログラムとか書く方が難しそう 例外の難点は想定しうるエラーを把握しにくい点だな。 いちいち戻り値を検証するより例外を投げた方がパフォーマンスは良い
バイナリサイズやメモリ容量の制限が厳しい環境でなければバンバン投げるべき 使ってないね
使ってたら死ぬほど使いにくいものになってただろうな Qtは古いコンパイラや組み込み向け環境にも対応しているから
Q_COMPILER_NOEXCEPT オプションがある。
このフラグは手で設定するものではなく通常Qtのビルド時に
コンパイラのバージョンから自動認識されるものだが手で設定することもできる。 動画を表示するにはQImageをタイミングよく切り替えるといったものが紹介されているのをよく見ます
私が勝手に動画を表示するにはOpenGLと思い込んでいたのですがQImageでもパフォーマンスに問題は無いのですか? デコードのタイミングでGPUを使う手段があるのであって、
そのデコード結果の画像を表示する際に、QImage を使ってるのでは
OpenGLで画像を貼り付けることも可能だろうけど、
そのためだけにそれを使うメリットは門外漢なので思い浮かばない インストールの話なんですが、PythonからQtを使う場合と、C++から使う場合では
インストールするQtは、Python版、C++版をインストールする必要がありますか? え?
OSによっては一度のインストールで済んだり、別々にインストールする必要があったりするんですか? 不親切な対応と思って質問返ししてるのだろうけど、実際必要な情報なんだよ 超久しぶりにインストールしたら、qt 3d studioなるものがインストール欄にあったけど、なんなのこれ?
ソフト開発したら、どういう風に使えるものなの? 質問させていただきます。
ソースコードは長いので、内容を説明させていただきます。
std::threadを使って、重い計算処理を分割して実行し、最後に結果をまとめるということをしています。
通常、実行には6秒くらいかかるのですが、各スレッドから呼ばれるfuncという関数内で
qDebug()を入れて適当な文字を出力すると、0.7秒で完了します。
スレッド数はどちらも8でかわりありませんし、そのほかのソースコードは何一つ変えていません。
qDebugを入れることで何かコンパイルの条件等が変わるのでしょうか。
Qt5.11です。 Qtはオブジェクトの寿命を独自で管理してるから、std::thread
じゃなくてQt::concurrentを使ってくれないか。 なんでそんな「ホモ以外は帰ってくれないか」みたいな言い回しなんだ・・ qDebugは変なコード(localeと合わないエンコードとか)送出すると
コンソール上で異常発生してプログラム終了するときがあるから
デバッグしようとしてそれが原因で目的よりも前のところで落ちる
全然デバッグにならないよω ツールバーをカスタマイズするダイアログってどっかに転がってない? ラムダ式にconnectするのってラムダ式のスコープ外れたらラムダ式ごとコネクションも消えるのかと思ったら残るんだな
非同期難しいわ 何でもQObject継承させて親子関係の連鎖で管理するのとスマートポインタ使うのだとどっちが効率いいんだろう?
とりあえずシグナルを使うクラスだけQObject派生にしてるんだけど アプリの中でキリル文字(ロシア語)が全角文字で表示されてしまう問題があるんだけど、
どうやったら回避できるか知ってる人居ない? >>944
日本語フォントを使ってるんじゃない? キリル文字を表示できる欧文フォントに変更すれば解決できるはず >>945
自動生成される ui_**.h を見る限り、フォントが指定されているように見えない。
海外版のWindowsだと問題ないのかなあ? VB6 から Qt に移行したら、ビルドの遅さに四苦八苦・・・
でも、ccache を導入したら、かなり快適になったで〜 【IT】青梅市のHP開発委託で驚きの記述「CMSにオープンソース(PHP・js・CSS・Linuxなど)を使用するな」「機能追加を無料で行え」
https://asahi.5ch.net/test/read.cgi/newsplus/1561784504/
青梅市ホームページシステム再構築業務委託仕様書のCMSの項目に目を疑う記述。
「なお、オープンソースの使用は認めない」
https://www.city.ome.tokyo.jp/keiyaku/documents/homepageshiyousyo.pdf あるページを見ていて
/// アイコン ダブルクリック時のメッセージ表示動作シグナル/スロット接続
connect(this, &QSystemTrayIcon::activated,
[this](QSystemTrayIcon::ActivationReason reason){
if (reason == QSystemTrayIcon::DoubleClick) {
Message();
}
}
);
という部分があります。で、connectの3番めと4番目の引数の所の[this]以降が自分が理解できません。
https://qiita.com/sazus/items/88daf4949cac06529f88
↑のページです。
どの様なキーワードでググれば答えが見つかるでしょうか?キーワードさえ教えていただければ
後は自分でググッて調べますので。
よろしくお願いします。 QSystemTrayIconがアクティブになった理由がダブルクリックされたというからということはもちろん分かります。
[this]の部分とその後のJavaの内部クラスみたいな書き方の名称がわかりません。 [this](〜){
:
}
はthisが示すオブジェクトにアクセス可能なラムダ式を引数にしてるってことだと思う
C++ ラムダ式
とかで検索すれば出てくると思う
Qt特有の何かってわけではない それはラムダ式だよ。
要するに他の言語でも存在する無名関数を定義してるだけ。
Qt4だと名前ベースのconnectしかできなかったけど、
Qt5からはラムダ式含む識別子ベースのconnectができるようになった。 この拡張のおかげで以前は滅多に使わなかったラムダ式を多用するようになったわ FakeVimってカーソルを行末+1文字まで持っていったり(set virtualedit=onemore)、
行末で右に移動したら次の行の先頭に移動するような設定ってできない? >>956
なんとなくわかります。どうもありがとうございました。
>>957
Qt5からはラムダ式を含む式をconnectに含める事ができるようになったのですね。
どうもありがとうございます。ラムダ式って要するに無名関数なのですね。ありがとうございます。
お二人、遅くなりましたが、ご回答どうもありがとうございました。 >>959
宝くじもにてるよ。俺は4と9の数と関連があるのが、来るような気がしてますが、
サマージャンボは番号選べないからね。。。 ボタン(ウィジェット)からマウスカーソルが離れた時を検知するにはどうすればいいですか?
QHoverEventあたりではないかと考えています。 Windowsのと比べて使い勝手悪いけど、特定のウィジェットのイベント発生をログに書き出すことができるよ。 enterEvent、leaveEventだと思うけど、
見た目を変える程度ならスタイルシートでやるのが簡単だよ Qt って GTK の仮想端末ウィジェット Vte に相当するウィジェットってあるのですか? Vteがどこまで機能を提供してるか知らんが
シリアル通信用のQTerminalというのがあるが、
それをQText*系の汎用的なテキスト表示用Widgetに張り付ける
gnome-editor みたいな自身のファイルシステムを操作するような widget を求めてるなら、
コマンド入力を編集として受け付けて、enter 入力イベント拾ったら、そのままコマンドとして実行、
その結果のテキストを張り付けるだけ
チュートリアルでありそうなレベル
(公式はなかったと思うけど、lxqt の標準端末の qterminal ならある) なるほど、QTerminal ですか。近そうな感じです。
私が GTK で実現しているのは、小さな仮想端末の窓を含んだアプリです。
アプリは単なる計算プログラムのフロントエンドで、引数を付けてプログラムを Vte に投げます。
すると、計算プログラムが逐次に標準出力に出す経過が、リアルタイムで窓に表示される。
リアルタイムでなければ、終わってからで良いなら、 TextView ウィジェットでも可能です。
でも、計算によっては数分かかるケースもあるので、進行状況が分かるリアルタイムにしたいのです。
そうなると、 Vte しかないと思うのです。
こんなのが Qt でも実現できるのか、が知りたかった。もしできるなら書き変えたいと思ってます。
普段はUNIX系で GTK で問題ないのですが、Windows に持って行けなくて困まります。
Qt ならそのあたりにアドバンテージがあるかなぁと。 前者の qterminal は QSerial だった
つか、単純にその機能の実現であればただの pipe だし
ツールキット使わなくてもできる(使ってもできる) 自分専用の動画プレイヤーが欲しくてQMediaPlayer使って作ってみた
Windows上では普通に動画ファイルを再生できるプレイヤーができたんだけど
何も考えずAndroidに持って行ったら同じ動画ファイルを再生できない
というか再生時間は取得できているようでQMediaPlayerに連動させたQSliderは動くんだが、画面が表示されない
まあWindowsでもコーデックをインストールしていない場合によくある動きだが
そこまで簡単に何でもできると思うのは虫が良かったという話であった windows以外はとにかくお膳立ての連続だからね QMediaPlayer自体はデコードしてないから 最近これ知ったんだけど結局windowsとMacとLinuxで動くアプリ作りたいならこれ使っとけばいいの?
.netCoreってのとはどう違うの? > これ使っとけばいいの?
そうだよ
> .netCoreってのとはどう違うの?
なんの関係もねえよ >>977
ネイティブバイナリとバイトコードって違いはあるな .NETはWindows以外だとまたもなGUIなくね?
まあQtだってスマフォOS周りは発展途上だと思うけど これ以上FirefoxOSをいじめないでやってくれ WindowsでQt Creator 4.8.4を使ていますが、
qDebug()した内容が、Qt CreatorのIDE上では見れないのでしょうか? >>984
普通に見れない?
ウィンドウ→出力ペイン→アプリケーション出力
QT_NO_DEBUG_OUTPUT が定義されている? さっそくproファイルに、
>DEFINES -= QT_NO_DEBUG_OUTPUT
を書いてリビルドしたら、
アプリケーション出力に出るようになりました。
ありがとうございました。 初Ubuntsu
軽いって評判だから入れてみたら動きがくそ遅いんですけど
使用感すごいもっさり
画面動かすだけでことごとくティザリング出る
なにこの有様 グラフィックドライバがクソ
GNOMEがクソ
PCがクソ
好きな理由を選べ
ちなみに俺はGNOMEを捨てたらサクサクになった
あとGUIの表示に関してはWin、Macの方が圧倒的に軽い MLではポインタの*を型と変数名どっちにつけるか戦争が勃発してるようだな… ちなみにわしは型につける派閥やが、だからといって変数名につけるのがクソとかおもわない
こんなのヤキトリの塩味派かタレ派かレベルの違いしかないだろうに
なんでそこまでの戦争になるのか・・人間の業は深い まもなくここは 乂1000取り合戦場乂 となります。
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( ) このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 961日 5時間 11分 6秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。