To solve the optimization problem described, we need to define the decision variables, objective function, and constraints. 

Let's denote:
- \(H\) as the number of headsets to stock,
- \(K\) as the number of keyboards to stock.

The objective is to maximize profit. The profit from each headset is $80, and from each keyboard is $50. Therefore, the objective function can be written as:
\[ \text{Maximize} \quad 80H + 50K \]

Constraints are as follows:

1. **Floor Space Constraint**: Each headset requires 2.5 sq ft of floor space, and each keyboard requires 1.5 sq ft. The total available floor space is 200 sq ft.
\[ 2.5H + 1.5K \leq 200 \]

2. **Keyboard Stocking Requirement**: At least 70% of all appliances in stock must be keyboards. This can be represented as:
\[ K \geq 0.7(H + K) \]
Simplifying, we get:
\[ K \geq 0.7H + 0.7K \]
\[ 0.3K \geq 0.7H \]
\[ K \geq \frac{7}{3}H \]

3. **Budget Constraint**: The store wants to spend at most $10,000. Headsets cost $200 each, and keyboards cost $110 each.
\[ 200H + 110K \leq 10000 \]

4. **Non-Negativity Constraints**: Both \(H\) and \(K\) must be non-negative since they represent quantities of items:
\[ H \geq 0 \]
\[ K \geq 0 \]

Now, let's translate this into Gurobi code in Python:

```python
from gurobipy import *

# Create a model
m = Model("Electronics_Store_Profit")

# Define decision variables
H = m.addVar(vtype=GRB.INTEGER, name="Headsets")
K = m.addVar(vtype=GRB.INTEGER, name="Keyboards")

# Set the objective function
m.setObjective(80*H + 50*K, GRB.MAXIMIZE)

# Add constraints
m.addConstr(2.5*H + 1.5*K <= 200, "Floor_Space")
m.addConstr(K >= (7/3)*H, "Keyboard_Requirement")
m.addConstr(200*H + 110*K <= 10000, "Budget")

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"Headsets: {H.x}")
    print(f"Keyboards: {K.x}")
    print(f"Maximum Profit: {m.objVal}")
else:
    print("No optimal solution found.")

```