Qt 4.8
setModel の後に setRowHeight() を使う。 QAbstractTableModel *model = new <モデルクラス>; QTableView *tableView = new QTableView; tableView->setModel(model); for (int row = 0; row < model->rowCount(); ++row) { tableView->setRowHeight(row, 1…
setModel() の後に setColumnWidth() を使う。 QAbstractTableModel *model = new <モデルクラス>; QTableView *tableView = new QTableView; tableView->setModel(model); for (int column = 0; column < model->columnCount(); ++column) { tableView->set…
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff) を使う。 QTableView *tableView = new QTableView; tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
結論 無理ぽい。QTableView なら可。 参考文献 Fixed (Freeze) column in QTableWidget https://doc.qt.io/qt-5/qtwidgets-itemviews-frozencolumn-example.html
できないらしい。 forum.qt.io
事象 Q_INVOKABLE メソッドが実行されず、次のエラーが表示される。 エラーメッセージ TypeError: Result of expression 'name.invokeMethod' [undefined] is not a function. 環境 Qt 4.8.6 Ubuntu 14.04 原因 A. クラスの定義に Q_OBJECT キーワードが含ま…
問題 シグナルを定義してビルドすると下記のエラーが発生する。 undefined reference to `<クラス名>::<シグナル名>' 原因 クラス定義に Q_OBJECT キーワードを記述していないため。 対策 クラス定義に Q_OBJECT キーワードを記述する。 class MyClass { Q_O…
nameFilters プロパティーを更新する。 FolderListModel は、nameFilters プロパティーが更新されると再読み込みを行うぽい。これを利用する。 ListView { anchors.fill: parent model: FolderListModel { id: folderListModel folder: "file:///C:" } deleg…
メッセージ Cannot anchor to an item that isn't a parent or sibling. 翻訳 親や兄弟ではない項目には固定できません。 原因 アンカー先が直接の親または兄弟でないため。 anchors.right: parent.parent.right 対処 アンカー先を直接の親または兄弟に変更…
コード QByteArray byteArray; QDataStream dataStream; dataStream.readRawData(byteArray, byteArray.capacity()); エラー conversion from 'QByteArray' to 'char*' is ambiguous 解決策 readRawData の第1引数に QByteArray::data() を渡す。 dataStrea…
ストリームからバッファー s へ読み込み、ストリームへの参照を返します。 バッファー s は、new を使ってアロケートされます。破棄には、delete[] オペレーターを付けてください。 l パラメーターには、バッファーの長さをセットしてください。文字列が空の…
原因 connect 関数のシグナル名とスロット名に括弧を付けてなかったため。 × connect(this, SIGNAL( mySignal ), this, SLOT( mySlot )); ○ connect(this, SIGNAL( mySignal() ), this, SLOT( mySlot() ));
方法1 QApplication::setFont() を使う。 QApplication a(argc, argv); QFont f = a.font(); f.setPointSize(f.pointSize() * 2); a.setFont(f);
プロジェクトファイル (.pro) に次の行を記述する。 target.path = /home/user INSTALLS = target
問題 Qt アプリケーション実行時に次のメッセージが表示される。 QMetaObject::connectSlotsByName: No matching signal for (スロット名) 原因 スロット関数の名前が命名規則に適合していないため。 on_event() 解決策 スロット関数の名前を修正する。 on…