QStyledItemDelegateのsizeHintをアイテムごとに変える
ツイッタークライアントをつくっている
各ツイートの情報をQAbstractListModelでリストに入れて、それをQStyledItemDelegateでQListViewに描画することでタイムラインを表示している
このときにデリゲートのsizeHintでリストの各アイテムの大きさの基準を指定できる
いまやってるやつだとツイートの情報(本文とか名前とか)はウィジェットにいれているわけではなくて、painterで描いている
なので、そのままだと各アイテムのサイズがゼロになってつぶれてしまうので、sizeHintにいい感じの大きさを指定する必要がある
なんだけど、ツイートはそれぞれ本文の長さが違うし、改行だってあるし、要するにアイテムひとつひとつの確保したい大きさが違う
だからsizeHintを全部一律で同じ値にはしたくない
ツイートの長さごとに違う大きさを指定しよう
方法:
いったんlabelをつくって、その中にツイートの本文をいれる
setWordWrapをオンにする
labelの幅を指定し、labelをその指定した幅とlabelのsizeHintの高さでresizeする
labelの高さをdelegateにreturnさせる
ArchLinuxをインストールした
最新機種にarchを入れるという酔狂をしてしまったせいで大変苦労した
VAIO Z クラムシェルモデル
USBに入れてブート
loadkeys jp106 lsblk
なんとsdxじゃない(nvme0n1って名前だった)
普通にsdaだと思ってパーティショニングしようとしたらUSBだった
パーティショニングは省略
パーティションはふたつだけ(swapもなし)
UEFIを使うので、先頭はvfatでフォーマット
mkfs.vfat -F32 /dev/nvme0n1p1 mkfs.ext4 /dev/nvme0n1p2 mount /dev/nvme0n1p2 /mnt mkdir /mnt/boot mount /dev/nvme0n1p1 /mnt/boot
無線接続してインストール
最近のノートパソコンは有線さすところがついてないのが多い
以前archを入れようとしたら無線デバイスを認識してくれないということがあったから怯えてたんだけど、今回の機種はすんなり認識してくれた
wifi-menu ping -c 3 www.google.com vim /etc/pacman.d/mirrorlist pacstrap -i /mnt base base-devel genfstab -U -p /mnt >> /mnt/etc/fstab
いままでpacmanのmirrorlistは単にjaistとtsukubaをトップに持ってきてるだけだったんだけど、その他をコメントアウトってのもしておいたほうがよい(ひどい目に遭った)
っていうかvim使えるんだね
chrootで潜ってlocale設定とか
arch-chroot /mnt vi /etc/locale.gen locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8 vi /etc/vconsole.conf # KEYMAP=jp106 # FONT=Lat2-Terminus16 ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime hwclock -u -w echo "hostname" > /etc/hostname passwd
鬼門のブートローダ
nvmeはgrubが未対応のため使えない!(2016/06現在)
代わりにsystemd-bootを使う
pacman -S intel-ucode mkdir -p /boot/EFI/systemd mkdir -p /boot/EFI/Boot cd /usr/lib/systemd/boot/efi cp systemd-bootx64.efi /boot/EFI/systemd/ cp systemd-bootx64.efi /boot/EFI/Boot/bootx64.efi mkdir -p /boot/loader/entries vi /boot/loader/entries/arch.conf # title Arch Linux # linux /vmlinuz-linux # initrd /initramfs-linux.img # options root=/dev/nvme0n1p2 rw mkinitcpio -p linux
####(2016/11/05追記)####
カーネルバージョンが更新され、arch.confのoptionsに
noefiを追加で書いておかないと起動しなくなってしまいました
(メーカーロゴのまま停止して焦った)
参考:
VAIO Z で Arch LinuxとWindows 10をデュアルブートする - Qiita
####
無線用のいろいろを入れて終了
pacman -S wireless_tools wpa_supplicant wpa_actiond dialog net-tools exit umount -R /mnt reboot
あとはユーザを追加して、GUIとか設定すればよい
疲れた