亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問該怎么指定item向右對齊?

請問該怎么指定item向右對齊?

HUX布斯 2022-10-08 15:11:40
像是我們平時用微信一樣,自己發出的消息右對齊,其他左對齊是默認就不管了。
查看完整描述

1 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

自定義一個Item

新建一個QWidget對象

在QWidget內添加Layout

在Layout內添加要的控件

為QWidget設置Layout

新建一個QListWidgetItem并調整大小

為QListWidgetItem設置QWidget

創建布局

首先我們創建一個最基本的布局, 只有一個listWidget和一個pushButton

實現點擊button后在listWidget中添加數據


class Windows(QMainWindow, Ui_MainWindow):    def __init__(self):        super(Windows, self).__init__()        self.setupUi(self)        self.pushButton.clicked.connect(self.deal)     def deal(self):        # 準備實現的功能        pass  app = QtWidgets.QApplication(sys.argv)windows = Windows()windows.show()sys.exit(app.exec_())

可以看出此布局總體是一個橫向布局(QHBoxLayout), 再其右邊是一個縱向(QVBoxLayout), 下面的布局又是一個橫向布局(QHBoxLayout)


def get_item():    # 總Widget    wight = QWidget()    # 布局    layout_main = QHBoxLayout()  # 總體橫向布局    layout_right = QVBoxLayout()  # 右邊的縱向布局    layout_right_down = QHBoxLayout()  # 右下的橫向布局     layout_right.addLayout(layout_right_down)  # 右下布局填充到右邊布局中    layout_main.addLayout(layout_right)  # 右邊布局填充入總布局    wight.setLayout(layout_main)  # 為Widget設置總布局

{    "ship_name": "胡德",    "ship_country": "E國",    "ship_star": "5",    "ship_index": "1",    "ship_photo": "1.png",    "ship_type": "戰巡"}

def get_item_wight(data):    # 讀取屬性    ship_name = data['ship_name']    ship_photo = data['ship_photo']    ship_index = data['ship_index']    ship_type = data['ship_type']    ship_country = data['ship_country']    ship_star = data['ship_star']    # 總Widget    wight = QWidget()     # 總體橫向布局    layout_main = QHBoxLayout()    map_l = QLabel()  # 頭像顯示    map_l.setFixedSize(40, 25)    maps = QPixmap(ship_photo).scaled(40, 25)    map_l.setPixmap(maps)     # 右邊的縱向布局    layout_right = QVBoxLayout()     # 右下的的橫向布局    layout_right_down = QHBoxLayout()  # 右下的橫向布局    layout_right_down.addWidget(QLabel(ship_type))    layout_right_down.addWidget(QLabel(ship_country))    layout_right_down.addWidget(QLabel(str(ship_star) + "星"))    layout_right_down.addWidget(QLabel(ship_index))     # 按照從左到右, 從上到下布局添加    layout_main.addWidget(map_l)  # 最左邊的頭像     layout_right.addWidget(QLabel(ship_name))  # 右邊的縱向布局    layout_right.addLayout(layout_right_down)  # 右下角橫向布局     layout_main.addLayout(layout_right)  # 右邊的布局     wight.setLayout(layout_main)  # 布局給wight    return wight  # 返回wight

設置QListWidgetItem for ship_data in YOUR_DATA:    item = QListWidgetItem()  # 創建QListWidgetItem對象    item.setSizeHint(QSize(200, 50))  # 設置QListWidgetItem大小    widget = get_item_wight(ship_data)  # 調用上面的函數獲取對應    self.listWidget.addItem(item)  # 添加item    self.listWidget.setItemWidget(item, widget)  # 為item設置widget

顯示效果:


查看完整回答
反對 回復 2022-10-12
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號