cuốn sách gpt4 ai đã làm

Sự cố với Kivy khi cố cuộn xuống ScrollView dọc bằng ScrollView ngang

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 20:25:02 26 4
mua khóa gpt4 Nike

Được rồi, tôi đang xây dựng một cái gì đó với Kivy (1.11.1), tóm lại là tôi có một ScrollView cuộn theo chiều dọc với một số ScrollView khác bên trong, nhưng chúng chỉ cuộn theo chiều ngang, vấn đề là bất cứ khi nào tôi cuộn ScrollView bên ngoài xuống và vị trí chuột thay đổi vào ScrollView ngang bên trong, ScrollView bên ngoài dừng cuộn xuống, có vẻ như khi vị trí chuột va chạm với ScrollView ngang thì hành vi cuộn sẽ ngừng được gửi đến ScrollView bên ngoài (dọc) nên nó dừng cuộn xuống. Những gì tôi muốn là một cái gì đó giống như một trang Netflix với một vài ScrollView nằm ngang (Danh sách của tôi, Bộ phim, Phim kinh dị, v.v.) mà bạn có thể cuộn để xem thêm tùy chọn, nhưng tất cả chúng đều nằm trong ScrollView bên ngoài cuộn theo chiều dọc. Trong Netflix, khi bạn cuộn xuống, ngay cả khi vị trí chuột của bạn vào một trong các ScrollView nằm ngang, nó sẽ tiếp tục cuộn xuống ScrollView bên ngoài.

Tôi đã thử đặt ScrollView do_scroll_y ngang thành Sai nhưng sự cố vẫn tiếp diễn. bên cạnh đó. Cuộn lên hoạt động tuyệt vời

từ ứng dụng nhập kivy.app
từ kivy.lang.builder nhập Builder
từ kivy.uix.boxlayout nhập BoxLayout

Builder.load_string(
'''
<ứng dụng="" cuộn="">:
Chế độ xem cuộn:
thanh_width: 10
Scroll_type: ['thanh', 'nội dung']

Bố cục hộp:
id: nội dung
định hướng: 'dọc'
size_hint: 1, Không có
chiều cao: self.minimum_height
phần đệm: 22, 0, 22, 50
khoảng cách: 50
vải:
Màu sắc:
rgba: .15, .15, .15, .9
Hình chữ nhật:
kích thước: self.size
tư thế: self.pos
Cái nút:
size_hint: Không có, Không có
width: 100
chiều cao: 100
on_press: in('ép')
# "Vùng chứa ScrollViews"
Phong tục
Phong tục
Phong tục
Phong tục

:
định hướng: 'dọc'
size_hint: 1, Không có
chiều cao: self.minimum_height
Nhãn:
size_hint: Không có, Không có
kích thước: self.texture_size
id: nhãn
cỡ chữ: 20
Chế độ xem cuộn:
size_hint: 1, Không có
chiều cao: 150
do_scroll: Đúng, Sai

on_scroll_start: print('scrolling. nhưng tại sao?')
GridLayout:
id: lưới
size_hint: Không có, Không có
kích thước: self.minimum_width, 150
khoảng cách: 5
col: 3
Cái nút:
size_hint: Không có, Không có
kích thước: 400, 150
Cái nút:
size_hint: Không có, Không có
kích thước: 400, 150
Cái nút:
size_hint: Không có, Không có
kích thước: 400, 150
''' )

classScrollApp(BoxLayout):
vượt qua

Kiểm tra lớp (Ứng dụng):
xây dựng chắc chắn (tự):
returnScrollApp()

Kiểm tra().run()


câu trả lời hay nhất

Tôi không thể khẳng định đã hiểu đầy đủ tình hình, nhưng có vẻ như theo chiều dọc Chế độ xem cuộn nằm trên một chiều dọc khác Chế độ xem cuộn là hợp lệ. Vì vậy giải pháp là làm Phong tục trong lớp Chế độ xem cuộn Cho phép cuộn dọc (cũng như cuộn ngang). Để làm điều này, hãy thay đổi Phong tục Bên trong Chế độ xem cuộn của kv Thay đổi thành:

Chế độ xem cuộn:
size_hint: 1, Không có
chiều cao: 150
do_scroll: True, True # cũng cho phép cuộn dọc

on_scroll_start: print('scrolling. nhưng tại sao?')
GridLayout:
id: lưới
size_hint: Không, chiều cao 1,01 # phải lớn hơn chiều cao ScrollView một chút
chiều rộng: self.minimum_width

Để thực hiện thao tác cuộn dọc trên đó,GridLayoutChiều cao phải lớn hơnChế độ xem cuộndo đó chiều cao1,01 Lời khuyên về kích thước.

Về python - Sự cố với Kivy khi cố cuộn xuống ScrollView dọc bằng ScrollView ngang, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/57900718/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress