# PyQt Phone Input
[![PyPI](https://img.shields.io/badge/pypi-v1.0.2-blue)](https://pypi.org/project/pyqt-phone-input)
[![Python](https://img.shields.io/badge/python-3.7+-blue)](https://github.com/marcohenning/pyqt-phone-input)
[![License](https://img.shields.io/badge/license-MIT-green)](https://github.com/marcohenning/pyqt-phone-input/blob/master/LICENSE)
[![Coverage](https://img.shields.io/badge/coverage-90%25-neon)](https://github.com/marcohenning/pyqt-phone-input)
[![Build](https://img.shields.io/badge/build-passing-neon)](https://github.com/marcohenning/pyqt-phone-input)
A clean and modern phone number input widget for PyQt and PySide.
![Main](https://github.com/user-attachments/assets/b0d91e9a-a38f-45b9-9886-e1422c298b2c)
## About
The widget features a dropdown to select the country and a text field to input a phone number, both of which are highly customizable. The country dropdown offers exactly the same 235 countries / territories that Google's phone inputs do and displays the selected country's flag as well as its phone code. The flag icons used are modified versions of the icons available on [this repository](https://github.com/lipis/flag-icons).
## Installation
```
pip install pyqt-phone-input
```
## Example
```python
from PyQt6.QtWidgets import QMainWindow
from pyqt_phone_input import PhoneInput
class Window(QMainWindow):
def __init__(self):
super().__init__(parent=None)
# Phone input
self.phone_input = PhoneInput(self)
self.phone_input.setBorderRadius(5)
self.phone_input.setCountry('us')
self.phone_input.setPlaceholderText('Phone number')
```
## Documentation
> **IMPORTANT:** <br>Styling of the widget must not be done by setting the stylesheet manually as the widget calculates the stylesheet itself and overrides it. Use the provided methods such as `setBackgroundColor()`, `setFocusedBackgroundColor()` and `setDisabledBackgroundColor()` instead.
* **Setting the current country:**
```python
phone_input.setCountry('us') # United States
```
* **Getting the current country:**
```python
phone_input.getCountry() # 'us'
```
* **Getting the current phone code:**
```python
phone_input.getCountryPhoneCode() # '+1'
```
* **Getting the phone number:**
```python
# country = 'us', input = '1234567'
phone_input.getPhoneNumber() # '+11234567'
```
* **Setting the text color:**
```python
phone_input.setColor(QColor(0, 0, 0))
```
* **Setting the background color:**
```python
phone_input.setBackgroundColor(QColor(255, 255, 255))
```
* **Setting the border color:**
```python
phone_input.setBorderColor(QColor(0, 0, 0))
```
* **Setting the border width:**
```python
phone_input.setBorderWidth(1)
```
* **Setting the border radius:**
```python
phone_input.setBorderRadius(5)
```
* **Setting the placeholder text:**
```python
phone_input.setPlaceholderText('Phone number')
```
**<br>All methods:**
| Method | Description |
|----------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
| `getCountry(self)` | Get the country code of the currently selected country |
| `getCountryPhoneCode(self)` | Get the phone code of the currently selected country |
| `setCountry(self, country: str)` | Set the current country (by country code) |
| `getPhoneNumber(self)` | Get the phone number (Returns country code and number from text field without any spaces) |
| `setInput(self, input_number: str)` | Set the text field's input |
| `getPlaceholderText(self)` | Get the text field's current placeholder text |
| `setPlaceholderText(self, text: str)` | Set the text field's current placeholder text |
| `isDisabled(self)` | Get whether the widget is currently disabled |
| `setDisabled(self, disabled: bool)` | Set whether the widget should be disabled |
| `setColor(self, color: QColor)` | Set the regular color of the text |
| `setBackgroundColor(self, color: QColor)` | Set the regular color of the background |
| `setBorderColor(self, color: QColor)` | Set the regular color of the border |
| `setBorderWidth(self, width: int)` | Set the width of the border |
| `setBorderRadius(self, radius: int)` | Set the radius of the border |
| `setPadding(self, padding: QMargins)` | Set the padding of the text field |
| `setFocusedColor(self, color: QColor)` | Set the text color for when the widget is focused |
| `setFocusedBackgroundColor(self, color: QColor)` | Set the background color for when the widget is focused |
| `setFocusedBorderColor(self, color: QColor)` | Set the border color for when the widget is focused |
| `setDisabledColor(self, color: QColor)` | Set the text color for when the widget is disabled |
| `setDisabledBackgroundColor(self, color: QColor)` | Set the background color for when the widget is disabled |
| `setDisabledBorderColor(self, color: QColor)` | Set the border color for when the widget is disabled |
| `setTextSelectionForegroundColor(self, color: QColor)` | Set the foreground color of the text field's selection |
| `setTextSelectionBackgroundColor(self, color: QColor)` | Set the background color of the text field's selection |
| `isDropdownItemHeightDynamic(self)` | Get whether the dropdown item height is dynamic (always the same height as the widget) |
| `setDropdownItemHeightDynamic(self, dynamic: bool)` | Set whether the dropdown item height should be dynamic (always the same height as the widget) |
| `setDropdownItemHeight(self, height: int)` | Set the dropdown item height (will only be used if dynamic height is disabled) |
| `setDropdownItemSelectionForegroundColor(self, color: QColor)` | Set the foreground color of the selected dropdown item |
| `setDropdownItemSelectionBackgroundColor(self, color: QColor)` | Set the background color of the selected dropdown item |
| `setDropdownBorderColor(self, color: QColor)` | Set the border color of the dropdown window |
| `setFont(self, font: QFont)` | Set the font used by text field and phone code of currently selected country |
| `setDropdownFont(self, font: QFont)` | Set the font used for the dropdown items |
## Countries
| Country Code | Country / Territory | Phone Code |
|--------------|--------------------------------|------------|
| af | Afghanistan | +93 |
| al | Albania | +355 |
| dz | Algeria | +213 |
| as | American Samoa | +1 |
| ad | Andorra | +376 |
| ao | Angola | +244 |
| ai | Anguilla | +1 |
| ag | Antigua and Barbuda | +1 |
| ar | Argentina | +54 |
| am | Armenia | +374 |
| aw | Aruba | +297 |
| sh-ac | Ascension Island | +247 |
| au | Australia | +61 |
| at | Austria | +43 |
| az | Azerbaijan | +994 |
| bs | Bahamas | +1 |
| bh | Bahrain | +973 |
| bd | Bangladesh | +880 |
| bb | Barbados | +1 |
| by | Belarus | +375 |
| be | Belgium | +32 |
| bz | Belize | +501 |
| bj | Benin | +229 |
| bm | Bermuda | +1 |
| bt | Bhutan | +975 |
| bo | Bolivia | +591 |
| ba | Bosnia and Herzegovina | +387 |
| bw | Botswana | +267 |
| br | Brazil | +55 |
| io | British Indian Ocean Territory | +246 |
| vg | British Virgin Islands | +1 |
| bn | Brunei | +673 |
| bg | Bulgaria | +359 |
| bf | Burkina Faso | +226 |
| bi | Burundi | +257 |
| kh | Cambodia | +855 |
| cm | Cameroon | +237 |
| ca | Canada | +1 |
| cv | Cape Verde | +238 |
| bq | Caribbean Netherlands | +599 |
| ky | Cayman Islands | +1 |
| cf | Central African Republic | +236 |
| td | Chad | +235 |
| cl | Chile | +56 |
| cn | China | +86 |
| co | Colombia | +57 |
| km | Comoros | +269 |
| cg | Congo - Brazzaville | +242 |
| cd | Congo - Kinshasa | +243 |
| ck | Cook Islands | +682 |
| cr | Costa Rica | +506 |
| ci | Côte d'Ivoire | +225 |
| hr | Croatia | +385 |
| cu | Cuba | +53 |
| cw | Curaçao | +599 |
| cy | Cyprus | +357 |
| cz | Czechia | +420 |
| dk | Denmark | +45 |
| dj | Djibouti | +253 |
| dm | Dominica | +1 |
| do | Dominican Republic | +1 |
| ec | Ecuador | +593 |
| eg | Egypt | +20 |
| sv | El Salvador | +503 |
| gq | Equatorial Guinea | +240 |
| er | Eritrea | +291 |
| ee | Estonia | +372 |
| sz | Eswatini | +268 |
| et | Ethiopia | +251 |
| fk | Falkland Islands | +500 |
| fo | Faroe Islands | +298 |
| fj | Fiji | +679 |
| fi | Finland | +358 |
| fr | France | +33 |
| gf | French Guiana | +594 |
| pf | French Polynesia | +689 |
| ga | Gabon | +241 |
| gm | Gambia | +220 |
| ge | Georgia | +995 |
| de | Germany | +49 |
| gh | Ghana | +233 |
| gi | Gibraltar | +350 |
| gr | Greece | +30 |
| gl | Greenland | +299 |
| gd | Grenada | +1 |
| gp | Guadeloupe | +590 |
| gu | Guam | +1 |
| gt | Guatemala | +502 |
| gn | Guinea | +224 |
| gw | Guinea-Bissau | +245 |
| gy | Guyana | +592 |
| ht | Haiti | +509 |
| hn | Honduras | +504 |
| hk | Hong Kong | +852 |
| hu | Hungary | +36 |
| is | Iceland | +354 |
| in | India | +91 |
| id | Indonesia | +62 |
| ir | Iran | +98 |
| iq | Iraq | +964 |
| ie | Ireland | +353 |
| il | Israel | +972 |
| it | Italy | +39 |
| jm | Jamaica | +1 |
| jp | Japan | +81 |
| jo | Jordan | +962 |
| kz | Kazakhstan | +7 |
| ke | Kenya | +254 |
| ki | Kiribati | +686 |
| xk | Kosovo | +383 |
| kw | Kuwait | +965 |
| kg | Kyrgyzstan | +996 |
| la | Laos | +856 |
| lv | Latvia | +371 |
| lb | Lebanon | +961 |
| ls | Lesotho | +266 |
| lr | Liberia | +231 |
| ly | Libya | +218 |
| li | Liechtenstein | +423 |
| lt | Lithuania | +370 |
| lu | Luxembourg | +352 |
| mo | Macao | +853 |
| mg | Madagascar | +261 |
| mw | Malawi | +265 |
| my | Malaysia | +60 |
| mv | Maldives | +960 |
| ml | Mali | +223 |
| mt | Malta | +356 |
| mh | Marshall Islands | +692 |
| mq | Martinique | +596 |
| mr | Mauritania | +222 |
| mu | Mauritius | +230 |
| mx | Mexico | +52 |
| fm | Micronesia | +691 |
| md | Moldova | +373 |
| mc | Monaco | +377 |
| mn | Mongolia | +976 |
| me | Montenegro | +382 |
| ms | Montserrat | +1 |
| ma | Morocco | +212 |
| mz | Mozambique | +258 |
| mm | Myanmar | +95 |
| na | Namibia | +264 |
| nr | Nauru | +674 |
| np | Nepal | +977 |
| nl | Netherlands | +31 |
| nc | New Caledonia | +687 |
| nz | New Zealand | +64 |
| ni | Nicaragua | +505 |
| ne | Niger | +227 |
| ng | Nigeria | +234 |
| nu | Niue | +683 |
| nf | Norfolk Island | +672 |
| kp | North Korea | +850 |
| mk | North Macedonia | +389 |
| mp | Northern Mariana Islands | +1 |
| no | Norway | +47 |
| om | Oman | +968 |
| pk | Pakistan | +92 |
| pw | Palau | +680 |
| ps | Palestine | +970 |
| pa | Panama | +507 |
| pg | Papua New Guinea | +675 |
| py | Paraguay | +595 |
| pe | Peru | +51 |
| ph | Philippines | +63 |
| pl | Poland | +48 |
| pt | Portugal | +351 |
| pr | Puerto Rico | +1 |
| qa | Qatar | +974 |
| re | Réunion | +262 |
| ro | Romania | +40 |
| ru | Russia | +7 |
| rw | Rwanda | +250 |
| ws | Samoa | +685 |
| sm | San Marino | +378 |
| st | São Tomé & PrÃncipe | +239 |
| sa | Saudi Arabia | +966 |
| sn | Senegal | +221 |
| rs | Serbia | +381 |
| sc | Seychelles | +248 |
| sl | Sierra Leone | +232 |
| sg | Singapore | +65 |
| sx | Sint Maarten | +1 |
| sk | Slovakia | +421 |
| si | Slovenia | +386 |
| sb | Solomon Islands | +677 |
| so | Somalia | +252 |
| za | South Africa | +27 |
| kr | South Korea | +82 |
| ss | South Sudan | +211 |
| es | Spain | +34 |
| lk | Sri Lanka | +94 |
| bl | St. Barthélemy | +590 |
| sh-hl | St. Helena | +290 |
| kn | St. Kitts & Nevis | +1 |
| lc | St. Lucia | +1 |
| mf | St. Martin | +590 |
| pm | St. Pierre & Miquelon | +508 |
| vc | St. Vincent & Grenadines | +1 |
| sd | Sudan | +249 |
| sr | Suriname | +597 |
| se | Sweden | +46 |
| ch | Switzerland | +41 |
| sy | Syria | +963 |
| tw | Taiwan | +886 |
| tj | Tajikistan | +992 |
| tz | Tanzania | +255 |
| th | Thailand | +66 |
| tl | Timor-Leste | +670 |
| tg | Togo | +228 |
| tk | Tokelau | +690 |
| to | Tonga | +676 |
| tt | Trinidad & Tobago | +1 |
| tn | Tunisia | +216 |
| tr | Türkiye | +90 |
| tm | Turkmenistan | +993 |
| tc | Turks & Caicos Islands | +1 |
| tv | Tuvalu | +688 |
| vi | U.S. Virgin Islands | +1 |
| ug | Uganda | +256 |
| ua | Ukraine | +380 |
| ae | United Arab Emirates | +971 |
| gb | United Kingdom | +44 |
| us | United States | +1 |
| uy | Uruguay | +598 |
| uz | Uzbekistan | +998 |
| vu | Vanuatu | +678 |
| va | Vatican City | +39 |
| ve | Venezuela | +58 |
| vn | Vietnam | +84 |
| wf | Wallis & Futuna | +681 |
| ye | Yemen | +967 |
| zm | Zambia | +260 |
| zw | Zimbabwe | +263 |
## License
This software is licensed under the [MIT license](https://github.com/marcohenning/pyqt-phone-input/blob/master/LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/marcohenning/pyqt-phone-input",
"name": "pyqt-phone-input",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "python, pyqt, qt, phone",
"author": "Marco Henning",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/ad/11/cca76b028d2e7de0e10ce4cf262b1f59abe468f6ea656b6719e2e9080340/pyqt-phone-input-1.0.2.tar.gz",
"platform": null,
"description": "\r\n# PyQt Phone Input\r\n\r\n[![PyPI](https://img.shields.io/badge/pypi-v1.0.2-blue)](https://pypi.org/project/pyqt-phone-input)\r\n[![Python](https://img.shields.io/badge/python-3.7+-blue)](https://github.com/marcohenning/pyqt-phone-input)\r\n[![License](https://img.shields.io/badge/license-MIT-green)](https://github.com/marcohenning/pyqt-phone-input/blob/master/LICENSE)\r\n[![Coverage](https://img.shields.io/badge/coverage-90%25-neon)](https://github.com/marcohenning/pyqt-phone-input)\r\n[![Build](https://img.shields.io/badge/build-passing-neon)](https://github.com/marcohenning/pyqt-phone-input)\r\n\r\nA clean and modern phone number input widget for PyQt and PySide.\r\n\r\n![Main](https://github.com/user-attachments/assets/b0d91e9a-a38f-45b9-9886-e1422c298b2c)\r\n\r\n## About\r\n\r\nThe widget features a dropdown to select the country and a text field to input a phone number, both of which are highly customizable. The country dropdown offers exactly the same 235 countries / territories that Google's phone inputs do and displays the selected country's flag as well as its phone code. The flag icons used are modified versions of the icons available on [this repository](https://github.com/lipis/flag-icons).\r\n\r\n## Installation\r\n\r\n```\r\npip install pyqt-phone-input\r\n```\r\n\r\n## Example\r\n\r\n```python\r\nfrom PyQt6.QtWidgets import QMainWindow\r\nfrom pyqt_phone_input import PhoneInput\r\n\r\n\r\nclass Window(QMainWindow):\r\n\r\n def __init__(self):\r\n super().__init__(parent=None)\r\n\r\n # Phone input\r\n self.phone_input = PhoneInput(self)\r\n self.phone_input.setBorderRadius(5)\r\n self.phone_input.setCountry('us')\r\n self.phone_input.setPlaceholderText('Phone number')\r\n```\r\n\r\n## Documentation\r\n\r\n> **IMPORTANT:** <br>Styling of the widget must not be done by setting the stylesheet manually as the widget calculates the stylesheet itself and overrides it. Use the provided methods such as `setBackgroundColor()`, `setFocusedBackgroundColor()` and `setDisabledBackgroundColor()` instead.\r\n\r\n* **Setting the current country:**\r\n```python\r\nphone_input.setCountry('us') # United States\r\n```\r\n\r\n* **Getting the current country:**\r\n```python\r\nphone_input.getCountry() # 'us'\r\n```\r\n\r\n* **Getting the current phone code:**\r\n```python\r\nphone_input.getCountryPhoneCode() # '+1'\r\n```\r\n\r\n* **Getting the phone number:**\r\n```python\r\n# country = 'us', input = '1234567'\r\nphone_input.getPhoneNumber() # '+11234567'\r\n```\r\n\r\n* **Setting the text color:**\r\n```python\r\nphone_input.setColor(QColor(0, 0, 0))\r\n```\r\n\r\n* **Setting the background color:**\r\n```python\r\nphone_input.setBackgroundColor(QColor(255, 255, 255))\r\n```\r\n\r\n* **Setting the border color:**\r\n```python\r\nphone_input.setBorderColor(QColor(0, 0, 0))\r\n```\r\n\r\n* **Setting the border width:**\r\n```python\r\nphone_input.setBorderWidth(1)\r\n```\r\n\r\n* **Setting the border radius:**\r\n```python\r\nphone_input.setBorderRadius(5)\r\n```\r\n\r\n* **Setting the placeholder text:**\r\n```python\r\nphone_input.setPlaceholderText('Phone number')\r\n```\r\n\r\n**<br>All methods:**\r\n\r\n| Method | Description |\r\n|----------------------------------------------------------------|-----------------------------------------------------------------------------------------------|\r\n| `getCountry(self)` | Get the country code of the currently selected country |\r\n| `getCountryPhoneCode(self)` | Get the phone code of the currently selected country |\r\n| `setCountry(self, country: str)` | Set the current country (by country code) |\r\n| `getPhoneNumber(self)` | Get the phone number (Returns country code and number from text field without any spaces) |\r\n| `setInput(self, input_number: str)` | Set the text field's input |\r\n| `getPlaceholderText(self)` | Get the text field's current placeholder text |\r\n| `setPlaceholderText(self, text: str)` | Set the text field's current placeholder text |\r\n| `isDisabled(self)` | Get whether the widget is currently disabled |\r\n| `setDisabled(self, disabled: bool)` | Set whether the widget should be disabled |\r\n| `setColor(self, color: QColor)` | Set the regular color of the text |\r\n| `setBackgroundColor(self, color: QColor)` | Set the regular color of the background |\r\n| `setBorderColor(self, color: QColor)` | Set the regular color of the border |\r\n| `setBorderWidth(self, width: int)` | Set the width of the border |\r\n| `setBorderRadius(self, radius: int)` | Set the radius of the border |\r\n| `setPadding(self, padding: QMargins)` | Set the padding of the text field |\r\n| `setFocusedColor(self, color: QColor)` | Set the text color for when the widget is focused |\r\n| `setFocusedBackgroundColor(self, color: QColor)` | Set the background color for when the widget is focused |\r\n| `setFocusedBorderColor(self, color: QColor)` | Set the border color for when the widget is focused |\r\n| `setDisabledColor(self, color: QColor)` | Set the text color for when the widget is disabled |\r\n| `setDisabledBackgroundColor(self, color: QColor)` | Set the background color for when the widget is disabled |\r\n| `setDisabledBorderColor(self, color: QColor)` | Set the border color for when the widget is disabled |\r\n| `setTextSelectionForegroundColor(self, color: QColor)` | Set the foreground color of the text field's selection |\r\n| `setTextSelectionBackgroundColor(self, color: QColor)` | Set the background color of the text field's selection |\r\n| `isDropdownItemHeightDynamic(self)` | Get whether the dropdown item height is dynamic (always the same height as the widget) |\r\n| `setDropdownItemHeightDynamic(self, dynamic: bool)` | Set whether the dropdown item height should be dynamic (always the same height as the widget) |\r\n| `setDropdownItemHeight(self, height: int)` | Set the dropdown item height (will only be used if dynamic height is disabled) |\r\n| `setDropdownItemSelectionForegroundColor(self, color: QColor)` | Set the foreground color of the selected dropdown item |\r\n| `setDropdownItemSelectionBackgroundColor(self, color: QColor)` | Set the background color of the selected dropdown item |\r\n| `setDropdownBorderColor(self, color: QColor)` | Set the border color of the dropdown window |\r\n| `setFont(self, font: QFont)` | Set the font used by text field and phone code of currently selected country |\r\n| `setDropdownFont(self, font: QFont)` | Set the font used for the dropdown items |\r\n\r\n## Countries\r\n\r\n| Country Code | Country / Territory | Phone Code |\r\n|--------------|--------------------------------|------------|\r\n| af | Afghanistan | +93 |\r\n| al | Albania | +355 |\r\n| dz | Algeria | +213 |\r\n| as | American Samoa | +1 |\r\n| ad | Andorra | +376 |\r\n| ao | Angola | +244 |\r\n| ai | Anguilla | +1 |\r\n| ag | Antigua and Barbuda | +1 |\r\n| ar | Argentina | +54 |\r\n| am | Armenia | +374 |\r\n| aw | Aruba | +297 |\r\n| sh-ac | Ascension Island | +247 |\r\n| au | Australia | +61 |\r\n| at | Austria | +43 |\r\n| az | Azerbaijan | +994 |\r\n| bs | Bahamas | +1 |\r\n| bh | Bahrain | +973 |\r\n| bd | Bangladesh | +880 |\r\n| bb | Barbados | +1 |\r\n| by | Belarus | +375 |\r\n| be | Belgium | +32 |\r\n| bz | Belize | +501 |\r\n| bj | Benin | +229 |\r\n| bm | Bermuda | +1 |\r\n| bt | Bhutan | +975 |\r\n| bo | Bolivia | +591 |\r\n| ba | Bosnia and Herzegovina | +387 |\r\n| bw | Botswana | +267 |\r\n| br | Brazil | +55 |\r\n| io | British Indian Ocean Territory | +246 |\r\n| vg | British Virgin Islands | +1 |\r\n| bn | Brunei | +673 |\r\n| bg | Bulgaria | +359 |\r\n| bf | Burkina Faso | +226 |\r\n| bi | Burundi | +257 |\r\n| kh | Cambodia | +855 |\r\n| cm | Cameroon | +237 |\r\n| ca | Canada | +1 |\r\n| cv | Cape Verde | +238 |\r\n| bq | Caribbean Netherlands | +599 |\r\n| ky | Cayman Islands | +1 |\r\n| cf | Central African Republic | +236 |\r\n| td | Chad | +235 |\r\n| cl | Chile | +56 |\r\n| cn | China | +86 |\r\n| co | Colombia | +57 |\r\n| km | Comoros | +269 |\r\n| cg | Congo - Brazzaville | +242 |\r\n| cd | Congo - Kinshasa | +243 |\r\n| ck | Cook Islands | +682 |\r\n| cr | Costa Rica | +506 |\r\n| ci | C\u00c3\u00b4te d'Ivoire | +225 |\r\n| hr | Croatia | +385 |\r\n| cu | Cuba | +53 |\r\n| cw | Cura\u00c3\u00a7ao | +599 |\r\n| cy | Cyprus | +357 |\r\n| cz | Czechia | +420 |\r\n| dk | Denmark | +45 |\r\n| dj | Djibouti | +253 |\r\n| dm | Dominica | +1 |\r\n| do | Dominican Republic | +1 |\r\n| ec | Ecuador | +593 |\r\n| eg | Egypt | +20 |\r\n| sv | El Salvador | +503 |\r\n| gq | Equatorial Guinea | +240 |\r\n| er | Eritrea | +291 |\r\n| ee | Estonia | +372 |\r\n| sz | Eswatini | +268 |\r\n| et | Ethiopia | +251 |\r\n| fk | Falkland Islands | +500 |\r\n| fo | Faroe Islands | +298 |\r\n| fj | Fiji | +679 |\r\n| fi | Finland | +358 |\r\n| fr | France | +33 |\r\n| gf | French Guiana | +594 |\r\n| pf | French Polynesia | +689 |\r\n| ga | Gabon | +241 |\r\n| gm | Gambia | +220 |\r\n| ge | Georgia | +995 |\r\n| de | Germany | +49 |\r\n| gh | Ghana | +233 |\r\n| gi | Gibraltar | +350 |\r\n| gr | Greece | +30 |\r\n| gl | Greenland | +299 |\r\n| gd | Grenada | +1 |\r\n| gp | Guadeloupe | +590 |\r\n| gu | Guam | +1 |\r\n| gt | Guatemala | +502 |\r\n| gn | Guinea | +224 |\r\n| gw | Guinea-Bissau | +245 |\r\n| gy | Guyana | +592 |\r\n| ht | Haiti | +509 |\r\n| hn | Honduras | +504 |\r\n| hk | Hong Kong | +852 |\r\n| hu | Hungary | +36 |\r\n| is | Iceland | +354 |\r\n| in | India | +91 |\r\n| id | Indonesia | +62 |\r\n| ir | Iran | +98 |\r\n| iq | Iraq | +964 |\r\n| ie | Ireland | +353 |\r\n| il | Israel | +972 |\r\n| it | Italy | +39 |\r\n| jm | Jamaica | +1 |\r\n| jp | Japan | +81 |\r\n| jo | Jordan | +962 |\r\n| kz | Kazakhstan | +7 |\r\n| ke | Kenya | +254 |\r\n| ki | Kiribati | +686 |\r\n| xk | Kosovo | +383 |\r\n| kw | Kuwait | +965 |\r\n| kg | Kyrgyzstan | +996 |\r\n| la | Laos | +856 |\r\n| lv | Latvia | +371 |\r\n| lb | Lebanon | +961 |\r\n| ls | Lesotho | +266 |\r\n| lr | Liberia | +231 |\r\n| ly | Libya | +218 |\r\n| li | Liechtenstein | +423 |\r\n| lt | Lithuania | +370 |\r\n| lu | Luxembourg | +352 |\r\n| mo | Macao | +853 |\r\n| mg | Madagascar | +261 |\r\n| mw | Malawi | +265 |\r\n| my | Malaysia | +60 |\r\n| mv | Maldives | +960 |\r\n| ml | Mali | +223 |\r\n| mt | Malta | +356 |\r\n| mh | Marshall Islands | +692 |\r\n| mq | Martinique | +596 |\r\n| mr | Mauritania | +222 |\r\n| mu | Mauritius | +230 |\r\n| mx | Mexico | +52 |\r\n| fm | Micronesia | +691 |\r\n| md | Moldova | +373 |\r\n| mc | Monaco | +377 |\r\n| mn | Mongolia | +976 |\r\n| me | Montenegro | +382 |\r\n| ms | Montserrat | +1 |\r\n| ma | Morocco | +212 |\r\n| mz | Mozambique | +258 |\r\n| mm | Myanmar | +95 |\r\n| na | Namibia | +264 |\r\n| nr | Nauru | +674 |\r\n| np | Nepal | +977 |\r\n| nl | Netherlands | +31 |\r\n| nc | New Caledonia | +687 |\r\n| nz | New Zealand | +64 |\r\n| ni | Nicaragua | +505 |\r\n| ne | Niger | +227 |\r\n| ng | Nigeria | +234 |\r\n| nu | Niue | +683 |\r\n| nf | Norfolk Island | +672 |\r\n| kp | North Korea | +850 |\r\n| mk | North Macedonia | +389 |\r\n| mp | Northern Mariana Islands | +1 |\r\n| no | Norway | +47 |\r\n| om | Oman | +968 |\r\n| pk | Pakistan | +92 |\r\n| pw | Palau | +680 |\r\n| ps | Palestine | +970 |\r\n| pa | Panama | +507 |\r\n| pg | Papua New Guinea | +675 |\r\n| py | Paraguay | +595 |\r\n| pe | Peru | +51 |\r\n| ph | Philippines | +63 |\r\n| pl | Poland | +48 |\r\n| pt | Portugal | +351 |\r\n| pr | Puerto Rico | +1 |\r\n| qa | Qatar | +974 |\r\n| re | R\u00c3\u00a9union | +262 |\r\n| ro | Romania | +40 |\r\n| ru | Russia | +7 |\r\n| rw | Rwanda | +250 |\r\n| ws | Samoa | +685 |\r\n| sm | San Marino | +378 |\r\n| st | S\u00c3\u00a3o Tom\u00c3\u00a9 & Pr\u00c3\u00adncipe | +239 |\r\n| sa | Saudi Arabia | +966 |\r\n| sn | Senegal | +221 |\r\n| rs | Serbia | +381 |\r\n| sc | Seychelles | +248 |\r\n| sl | Sierra Leone | +232 |\r\n| sg | Singapore | +65 |\r\n| sx | Sint Maarten | +1 |\r\n| sk | Slovakia | +421 |\r\n| si | Slovenia | +386 |\r\n| sb | Solomon Islands | +677 |\r\n| so | Somalia | +252 |\r\n| za | South Africa | +27 |\r\n| kr | South Korea | +82 |\r\n| ss | South Sudan | +211 |\r\n| es | Spain | +34 |\r\n| lk | Sri Lanka | +94 |\r\n| bl | St. Barth\u00c3\u00a9lemy | +590 |\r\n| sh-hl | St. Helena | +290 |\r\n| kn | St. Kitts & Nevis | +1 |\r\n| lc | St. Lucia | +1 |\r\n| mf | St. Martin | +590 |\r\n| pm | St. Pierre & Miquelon | +508 |\r\n| vc | St. Vincent & Grenadines | +1 |\r\n| sd | Sudan | +249 |\r\n| sr | Suriname | +597 |\r\n| se | Sweden | +46 |\r\n| ch | Switzerland | +41 |\r\n| sy | Syria | +963 |\r\n| tw | Taiwan | +886 |\r\n| tj | Tajikistan | +992 |\r\n| tz | Tanzania | +255 |\r\n| th | Thailand | +66 |\r\n| tl | Timor-Leste | +670 |\r\n| tg | Togo | +228 |\r\n| tk | Tokelau | +690 |\r\n| to | Tonga | +676 |\r\n| tt | Trinidad & Tobago | +1 |\r\n| tn | Tunisia | +216 |\r\n| tr | T\u00c3\u00bcrkiye | +90 |\r\n| tm | Turkmenistan | +993 |\r\n| tc | Turks & Caicos Islands | +1 |\r\n| tv | Tuvalu | +688 |\r\n| vi | U.S. Virgin Islands | +1 |\r\n| ug | Uganda | +256 |\r\n| ua | Ukraine | +380 |\r\n| ae | United Arab Emirates | +971 |\r\n| gb | United Kingdom | +44 |\r\n| us | United States | +1 |\r\n| uy | Uruguay | +598 |\r\n| uz | Uzbekistan | +998 |\r\n| vu | Vanuatu | +678 |\r\n| va | Vatican City | +39 |\r\n| ve | Venezuela | +58 |\r\n| vn | Vietnam | +84 |\r\n| wf | Wallis & Futuna | +681 |\r\n| ye | Yemen | +967 |\r\n| zm | Zambia | +260 |\r\n| zw | Zimbabwe | +263 |\r\n\r\n## License\r\n\r\nThis software is licensed under the [MIT license](https://github.com/marcohenning/pyqt-phone-input/blob/master/LICENSE).\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A clean and modern phone number input widget for PyQt and PySide",
"version": "1.0.2",
"project_urls": {
"Homepage": "https://github.com/marcohenning/pyqt-phone-input"
},
"split_keywords": [
"python",
" pyqt",
" qt",
" phone"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b70a5e7984794e923a1b112e83f3f4ff99ed0804836b2d8444f6b25c30413578",
"md5": "34c48c63a3ea6fb5881b641b04a6917e",
"sha256": "d04e96b9f3978703ffdc3572ca6152d5c1794921419d5a9831bd6faa7b74798b"
},
"downloads": -1,
"filename": "pyqt_phone_input-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34c48c63a3ea6fb5881b641b04a6917e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4423298,
"upload_time": "2024-09-09T14:51:36",
"upload_time_iso_8601": "2024-09-09T14:51:36.173452Z",
"url": "https://files.pythonhosted.org/packages/b7/0a/5e7984794e923a1b112e83f3f4ff99ed0804836b2d8444f6b25c30413578/pyqt_phone_input-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ad11cca76b028d2e7de0e10ce4cf262b1f59abe468f6ea656b6719e2e9080340",
"md5": "28cbecbc09ad34d90b5108a9dcc95137",
"sha256": "9339971ec554d9fe20d8f00a7726cea65c107ea00a35a01c7d91df054b8897c3"
},
"downloads": -1,
"filename": "pyqt-phone-input-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "28cbecbc09ad34d90b5108a9dcc95137",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 4386011,
"upload_time": "2024-09-09T14:51:45",
"upload_time_iso_8601": "2024-09-09T14:51:45.774258Z",
"url": "https://files.pythonhosted.org/packages/ad/11/cca76b028d2e7de0e10ce4cf262b1f59abe468f6ea656b6719e2e9080340/pyqt-phone-input-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-09 14:51:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "marcohenning",
"github_project": "pyqt-phone-input",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"requirements": [],
"lcname": "pyqt-phone-input"
}