【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net

1デフォルトの名無しさん 転載ダメ©2ch.net2017/03/08(水) 13:49:03.39ID:jMX+hATM
Qt(キュート)は C++ ベースのフレームワーク&RAD開発環境です。

ライブラリの機能は、フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、
グラフィックス(OpenGL)や各種コンテナ、XMLパーサー、組み込み JavaScript など、非常に多岐に渡ります。
公式の統合開発環境「Qt Creator IDE」を使えば、クロスプラットフォーム対応のRAD開発が可能です。
また、EclipseやVisual Studio上で開発したい人のためのアドインも用意されています。

■主な対応プラットフォーム(デスクトップ用途の場合)

Windows XP, Vista, 7
Mac OS X 10.4, 10.5, 10.6
Linux

■ライセンス

・オープンソース版(Open-source version)
 LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。
 LGPL を選んだ場合はソースコード非公開のままでの商用利用が可能です(いくつか制限あり)。
 ※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。
  ちなみにGPLでも商用利用が不可能というわけではありません、念のため。
・商用版(Commercial version)
 こっちはDigia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います

■Qt を使って作られたソフト例

KDE、Maya、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio
MotionBuilder、RealFlow、Nuke、LuxRender、Mathematica、Kindle、VirtualBox、
RuviEdit、さくさくエディタ など

■前スレ
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 17
http://echo.2ch.net/test/read.cgi/tech/1438593408/

769デフォルトの名無しさん2018/07/21(土) 22:40:48.21ID:wegwKdpt
良かったらそのエラーになった解凍ソフト教えてほしい

770デフォルトの名無しさん2018/07/22(日) 04:07:23.46ID:UzkOgwHb
当人じゃなく、別件ではあるが、
圧縮解凍ライブラリが静的リンクされてるやつ、
もしくは32bit系当時のソフトだとなりがち

メジャーなライブラリで、dll形式で同梱されてるやつだと、
そこだけ更新すりゃ特に問題起きないね

771デフォルトの名無しさん2018/07/22(日) 20:50:52.89ID:3i0K2IoV
たとえばLhaPlusみたいなクソアーカイバだと、
deflate64なzipの展開をぶっ壊れた状態で平気で展開するから
作者に余計なクレームが届く悲劇が起こる。

そのくせLhaPlusは公開したままだしな。
マジ迷惑だわ。

772デフォルトの名無しさん2018/07/23(月) 10:17:56.08ID:eU1p7hr8
古すぎるそんなの使うなって話だけど
それなら公開したままのサイトの責任もあるよな

773デフォルトの名無しさん2018/07/23(月) 19:07:16.75ID:bgcPBI8p
お気楽な無責任バグ修正ビジネスモデル
Open Governance → Open Maintenance → Waiting for 3rd party response
→ Too old → Removed

774デフォルトの名無しさん2018/07/25(水) 16:28:39.31ID:TbDHSr+9
Qt Creatorで開発を始めたところです。
Windowsで、日本語を含む文字列「テスト.txt」を引数に渡すと「???.txt」に文字化けします。
デバッガで見ると、main文のargvの時点で「???.txt」になってます。
QString::fromLocal8bit(argv[1])の結果も同様です。
これってなぜでしょうか?
(Linux上では問題なし)

775デフォルトの名無しさん2018/07/25(水) 17:53:47.29ID:8PO6NK+Q
encoding設定汁

776デフォルトの名無しさん2018/07/25(水) 18:59:21.15ID:TbDHSr+9
>>775
ファイルをUTF-8 BOM付きにしたらイけました。
(コンパイラはVisual C++)
ありがとうございます。

777デフォルトの名無しさん2018/07/25(水) 20:19:12.32ID:NI8Yywyu
ちなみに Visual Studio で、ソースコードを BOM なしにするとひどいことになるゾ

主に日本語コメントがめんどくさくて、
/*これはダメで*/
/* これはOKだ */

778デフォルトの名無しさん2018/07/25(水) 21:05:47.18ID:UNILj0yW
「無料が基本」のオープンソース文化圏で有料ソフトウェアの販売は受け入れられるのか?
https://gigazine.net/news/20180725-hiri-on-linux/

このhiriっていうメールアプリQtを使ってるみたい

779デフォルトの名無しさん2018/07/26(木) 00:01:26.06ID:IsvWUjVE
>>777
スペースの有無で上手くいかなかったりするってことですか?

780デフォルトの名無しさん2018/07/26(木) 02:12:01.56ID:sKjh+yFy
BOM なしUTF8にした場合の話ね
/*の直後にマルチバイト文字が来ると誤判定されるっぽい

まぁVisual Studio としてもBOM ありを推奨してたはずだから文句は言えないのだけど

781デフォルトの名無しさん2018/07/26(木) 21:35:10.90ID:27ylTyqt
というよりも、プログラムに日本語を混入する方が馬鹿げているので、
プログラム本体は全て英語で作って日本語の部分はコメント程度に留めておくことを進める。
文字列リテラルとかは全部外部化する

782デフォルトの名無しさん2018/07/26(木) 23:07:51.85ID:w52XJ4/a
20年前なら俺もそう思ってた

783デフォルトの名無しさん2018/07/27(金) 04:49:48.24ID:Lg21L7XK
変数に絵文字を使う時代です😝

784デフォルトの名無しさん2018/07/27(金) 05:23:50.48ID:XpW7fkKf
昔、YPSと言う日本語+フローチャートな言語があってな・・・・ってまだ作っとんかい!?→不治痛

785デフォルトの名無しさん2018/07/27(金) 06:13:48.88ID:uuhNedST
>>781
Qtは特にそうだな

786デフォルトの名無しさん2018/07/28(土) 08:36:42.20ID:w1bpvOAm
文字列リテラルを全部外部化するといっても、必ずしもテキストファイルを読み込むコードを手で書く必要はない。
tr("abc")
ってプログラム中に書いておいて、Qt Linguistで言語リソースを作ってアプリにバンドルすれば、
実行時には文字列"abc"に対してQtが自動的に
日本語の文字列を割り当てる形でプログラム中に読み込まれる。

もちろん言語リソースの選択はPC環境の言語に合わせて自動選択することも明示的に選択することもできるし、
iniファイルとかを作って自前で差し替えするコードを書くこともできる。

787デフォルトの名無しさん2018/07/29(日) 20:46:29.05ID:6vWbeAZB
midiの編集ソフトを探しています

GUIアプリケーションの開発になるので、VisualStudioでMFCと思い立ち、WindowsAPIにはmidi関連のAPIも含まれてるので、面倒なサードパーティライブラリを用意したりmidi再生部分を自作する手間が省けると思いました

調べたらQtもmidi関連のAPIを持ってそうな雰囲気なのですがどうなのでしょう?
ただ、日本語の情報がなさそうでした

確かFluidSynthのGUIがQt製だったように思いますSoundFontが使えるのでmidi化したあとのプレイバックに使えますかね?

788デフォルトの名無しさん2018/07/30(月) 10:27:06.88ID:Qfso/A9s
openmidi

789デフォルトの名無しさん2018/07/30(月) 10:35:04.03ID:Wg41h7hn
ふと思ったんですが、スキャンした楽譜からMIDIデータを生成するんじゃなくて、例えばMuseScoreのような楽譜xmlを書き出した方が良いですよね

790デフォルトの名無しさん2018/07/30(月) 10:55:01.51ID:t5W0Q4n1
楽譜の読み方とかよく知らないけど、五線譜のエディタがあっておたまじゃくしを配置するとドレミとか再生に必要な情報がキューイングされて行って、midiファイルをエクスポートする時にmidiのデータ形式に変換されるイメージだった
楽譜の画像解析とか面倒な事はしなくて、ユーザーに楽譜を書かせる感じ
openmidiのページにある世界樹ってやつの機能切り出し版みたいな

791デフォルトの名無しさん2018/07/30(月) 11:04:24.33ID:Wg41h7hn
任意の位置の点が0か1か、と、楽譜、なら、こりゃもう楽譜OCRだろうと思ってたw

792デフォルトの名無しさん2018/07/30(月) 13:01:58.86ID:OTf1bV4O
soundOCRなら意味あるけど楽譜OCRなんて馬鹿のやること

793デフォルトの名無しさん2018/07/30(月) 18:11:08.73ID:Wg41h7hn
単純にドレミをmidi形式でシリアライズするぐらいならWindowsAPIとかQt備え付けのAPIで充分かな〜と思ってたけど、エフェクトとかも編集したいとか要望が複雑化してくるのなら確かにopenmidi使うのが良いかも
openmidiで物足りねぇ俺はもっと変態的な事がしたいんだ!ってなった時にはサウンドプログラミングを学ぶのも手かな

794デフォルトの名無しさん2018/08/12(日) 00:59:55.23ID:Dtsm92D7
アプデcreatorがやかましくなったぞ

795デフォルトの名無しさん2018/08/30(木) 01:34:31.21ID:lcYNN+N9
Qtで表を表示したいんですけど
1つのヘッダーに2列データを表示するみたいなことって出来ませんかね?

796デフォルトの名無しさん2018/08/30(木) 10:13:29.80ID:S/vwwZyF
可能

797デフォルトの名無しさん2018/08/30(木) 19:41:41.51ID:V2Id/lva
>>795
QStyledItemDelegateを使って描画イベントを乗っ取るのが一番簡単だと思う。

基本的には元の描画方法をコピペして乗っ取っても同じ描画になることを確認してから、
少しずつカスタマイズしていく。

798デフォルトの名無しさん2018/08/31(金) 07:05:26.58ID:06kQQ/Hy
>>797
QStyledItemDelegateですね
ちょっと調べてみます
ありがとうございました

799デフォルトの名無しさん2018/09/06(木) 08:32:09.29ID:xZU7TQSU
QPrintDialogでオプションで設定した用紙サイズが反映されないんですが、
なにか原因ありますかね?

printer->setPaperSize( QPagedPaintDevice::A3 );
printer->setPageOrientation( QPageLayout::Landscape );

QPrintDialog *printDialog = new QPrintDialog( printer, 0 );

printDialog->enabledOptions();

800デフォルトの名無しさん2018/09/07(金) 21:00:00.53ID:sMpiC6bH
プリンタは扱ったことないけど、とりあえず既存の実装例を参考にしてみたら?
https://github.com/Qucs/qucs/blob/0ef64c307d72fa9c3d8075d6a69b79146f060e40/qucs/qucs/printerwriter.cpp

801デフォルトの名無しさん2018/09/08(土) 10:43:44.48ID:8EdXckwk
electronでいいよ

802デフォルトの名無しさん2018/09/09(日) 02:18:50.96ID:mNtyUT/G
質問です
C++ではこんな風に書けばメインスレッドに簡単に投げられますがpyqtで似たようなことをするにはどうすればいいでしょうか?
QObject::connect(&QObject(), &QObject::destroyed, [&]() { });

803デフォルトの名無しさん2018/09/09(日) 11:15:13.75ID:kzlGF2pO
pyqtにもconnectはあるよ

804デフォルトの名無しさん2018/09/09(日) 18:46:55.69ID:mNtyUT/G
こんな風にしたいんだけどどうすればいいのか全くわからない
そもそもconnectが見つからない

from PyQt5.QtCore import QObject
QObject.connect(QObject(), QObject.destroyed, lambda: print("print"))

805デフォルトの名無しさん2018/09/10(月) 10:58:31.95ID:wQh8RVrU
instance に connect 汁

806デフォルトの名無しさん2018/09/18(火) 19:21:21.69ID:8qpEkq+C
フラットデザインといいますかwebページっぽいデザインにしなくてはいけなくなったんですが
webengineを使わずにそれっぽいデザインのサンプルはどこかにないでしょうか?

807デフォルトの名無しさん2018/09/18(火) 20:38:45.60ID:b8yWRBG5
Qtアプリの見た目を変更するのはWidgetにStyleSheetを適用するんだが、
アプリ全体に同じようなStyleを統一的に適用するためのThemeという仕組みが存在する。

基本的に各OSごとに用意されているわけだが、フラットなUIを実現してくれるThemeがなにかあるかもね。
見つけたら報告してね。

808デフォルトの名無しさん2018/09/18(火) 22:13:28.06ID:qELFdYtd
Electronで作るべきだと思います🙋‍♀

809デフォルトの名無しさん2018/09/20(木) 00:45:00.21ID:w38b2cTU
windows10でQt5.11+qtcreator4.6にしてから、
日本語入力して確定前にBackspaceで入力中の文字を削除すると、
実際のテキストでは消えているのに、表示上は消えず、しかもカーソルが
消えてしまう、みたいな現象があるのですが、解決方法ご存知の方いませんか。

810デフォルトの名無しさん2018/09/20(木) 03:10:11.46ID:71xXtLtN
>>808
俺もそう思うがリバースエンジニアリング対策でコンパイルできる言語でないとだめだと言われた

811デフォルトの名無しさん2018/09/20(木) 23:09:04.52ID:wRp6TH/H
>>810
Javaもc#も駄目なのか

JavaScriptを難読化させたら読む気にならないコードになるが。

812デフォルトの名無しさん2018/09/20(木) 23:14:13.37ID:jIZcwJ0v
ウィジェットコンポーネントが整備されてない
Electronでまともなアプリを作ろうと思ったら火傷するだけだと思うんだがな。
最近のエンジニアはそう思わないんだろうか。

813デフォルトの名無しさん2018/10/05(金) 21:55:50.06ID:VwoZZtVF
WindowsのQtで、USB シリアル使用中に、USBケーブル引っこ抜かれたときのえらーって
検知・対処方法ってわかりますか
スレッドの終了またはアプリケーションの要求によってI/O処理は中止されました
と出て、次に延々と
デバイスがコマンドを認識できません
のダイアログが出てきて追われないんです。
仕方なしにタスクマネジャから殺しています
殺さずに自分で終わりたいのですが

814デフォルトの名無しさん2018/10/05(金) 22:09:58.78ID:fyk4/HsR
>>813
んー、Windowsでシリアルデバイスを扱うこと自体はWin32 APIでもそれほど難しい処理ではないから、
一度自力でサンプルを書いて挙動を調べたほうがいいと思うよ。

API越しのデバイスの実際の挙動を把握してから、自分で作ったQtのプログラムでどうすべきか考えればいいのでは。

あるいは、GUIだけQtで作って、通信部分はWin32 APIで記述するキメラ実装であってもいいわけだし。

815デフォルトの名無しさん2018/10/06(土) 00:20:47.94ID:x2N6y/RA

816デフォルトの名無しさん2018/10/12(金) 02:51:01.98ID:WfKO6J+6
boostにシリアル通信用のライブラリも無かったっけ

817デフォルトの名無しさん2018/10/12(金) 05:12:06.58ID:1iFt3dhJ
asioだっけ

818デフォルトの名無しさん2018/10/14(日) 02:33:24.17ID:iHlUkB5I
boost.asioはライブラリを作るためのライブラリなので便利なライブラリを見つけてきた方がいい

819デフォルトの名無しさん2018/10/16(火) 01:42:35.33ID:ia4noRZU
c++の構造体をqml側で読み込むには構造体の要素それぞれをQ_PROPERTYマクロで宣言するしかないのでしょうか?

新着レスの表示
レスを投稿する