Find Jobs
Hire Freelancers

Urwid user interface in Python 3

$30-250 USD

Đã đóng
Đã đăng vào hơn 6 năm trước

$30-250 USD

Thanh toán khi bàn giao
I am looking for someone that is familiar with the Urwid library for Python that can write a user interface for me. The interface will be a single screen consisting of the following components * A left list of checkable items * A right list of selectable items * A footer with two lines of text The interface should call a first method, which will return a dictionary containing the information to display in the interface. The dictionary will have the following form, { left_side: [{value: 'some value', attribute: 'some attribute'}, {value: 'some value', attribute: 'some attribute'}, ...] right_side: [{value: 'some value', attribute: 'some attribute'}, {value: 'some value', attribute: 'some attribute'}, ...] } The left_side item contains a list of dictionaries (the list can be an arbitrary length > 0). Each dictionary in the list, contains a value item which should be displayed in the left checkable list and an attribute which should be displayed in the first line of the footer when the item is selected/highlighted. By default all items in the list should be unchecked. The right_side item similarly contains a list of dictionaries that should be displayed the same way but in the right-side list; the attribute of the selected/highlighted item should be shown in the space as the left side attribute. By default the first item in the list should be selected. The user should be able to navigate up and down the lists and back and forth between the lists using the arrow keys. The item currently selected item should be shown by highlighting (inverting the foreground and background) the row that is selected. The user should be started on the top record in the left list. The check boxes in the left hand list should toggle between un-checked and checked when the space key is pressed. Both lists should be scrollable should there be too many items to display at once. After calling the first method, a second method should be called which will return a string to be displayed in the second row of the footer. When the enter or return key is pressed the interface should call a third method and pass to it a dictionary with the following structure. { left_side: ['some value', 'some value', 'some_value'] right_side: 'some value' } The dictionary should contain all the items that were checked on the left side and the one item that was selected on the right side. After calling this method the UI should call the first and second methods again to get the next dictionary and footer text to display. This process should continue in a loop until the first method returns none at which point the UI should indicate that the process is complete and exit. If the exit key is pressed, the second footer line should change to a text input field and the focus should be put here. The user should be able to type here until enter or return is pressed, at which point the UI should first call a fourth method and pass the user entered text and then call the third method to submit the dictionary described above. The UI should return to the top of the loop by calling the first and second method. The entire UI should dynamically size to the window size (I believe Urwid should handle this automatically). The code should be well documented. You will not need to provide the methods described, but you will not be provided them either. Stub methods will likely need to be used for testing. If there are ways to accomplish the above in an easier or more elegant fashion I open to making changes.
Mã dự án: 15634985

Về dự án

5 đề xuất
Dự án từ xa
Hoạt động 6 năm trước

Bạn muốn kiếm tiền?

Lợi ích khi chào giá trên Freelancer

Thiết lập ngân sách và thời gian
Nhận thanh toán cho công việc
Phác thảo đề xuất của bạn
Miễn phí đăng ký và cháo giá cho công việc
5 freelancer chào giá trung bình $161 USD cho công việc này
Avatar người dùng
Hi there, I have gone through you requirement and pleased to inform you that I can do this job for You. We can discuss in details over chat' Thanks Relevant Skills and Experience Python Django Proposed Milestones $50 USD - m1 $50 USD - m2 $50 USD - m3 $50 USD - m4
$200 USD trong 5 ngày
0,0 (0 nhận xét)
0,0
0,0

Về khách hàng

Cờ của UNITED STATES
Chicago, United States
0,0
0
Thành viên từ thg 11 14, 2017

Xác thực khách hàng

Cảm ơn bạn! Chúng tôi đã gửi email chứa đường link để bạn lấy tín dụng miễn phí.
Đã xảy ra lỗi trong khi gửi email của bạn. Hãy thử lại.
Người Dùng Đã Đăng Ký Tổng Số Việc Đã Đăng
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Đang tải xem trước
Đã cấp quyền truy cập vị trí.
Phiên đăng nhập của bạn đã hết hạn và bạn đã bị đăng xuất. Hãy đăng nhập lại.